diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 000000000..61a9130cd --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index c0f68eddd..cc51e58ed 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -25,7 +25,7 @@ - + diff --git a/.idea/modules.xml b/.idea/modules.xml index 9ccec24b6..e74b9f4dd 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -2,15 +2,16 @@ - - - - - - - - - + + + + + + + + + + diff --git a/app/build.gradle b/app/build.gradle index ee8acf251..9a8c72d3c 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -49,14 +49,13 @@ android { } compileSdkVersion Dependencies.compileSdk - buildToolsVersion Dependencies.buildTools defaultConfig { minSdkVersion Dependencies.minSdk targetSdkVersion Dependencies.targetSdk - versionName Config.versionName - versionCode 5000 + versionName "2.0.17" + versionCode 5001 resConfigs "en", "zh-rCN", "fr", "de", "ko", "it", "ru", "nl", "tr", "pl", "ro", "hu", "hi-rIN", "uk", "bg-rBG", "en-rGB", "et-rEE", "vi", "pt-rBR", "es", "en-rNZ", "zh-rTW", "es-rES", "ca", "hr", "en-rAU", "eu-rES", "th", "ja" @@ -261,7 +260,6 @@ dependencies { implementation Dependencies.materialDialogs implementation Dependencies.materialDialogCommons implementation Dependencies.expandableRecyclerView - implementation Dependencies.billing implementation Dependencies.butterknife kapt Dependencies.butterknifeAnnotationProcessor diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 7ffddad11..b6b3f5441 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -29,7 +29,8 @@ android:label="@string/app_name" android:largeHeap="true" android:roundIcon="@mipmap/ic_launcher_round" - android:theme="@style/AppTheme"> + android:theme="@style/AppTheme" + android:requestLegacyExternalStorage="true"> +

2.0.17

+
    +
  • Fixed an issue where playlists didn't show up on some devices
  • +
  • Shuttle 2 is in alpha testing! DM me your Play Store email address on Discord if you're interested in testing.
  • +
+

2.0.16

+
    +
  • Fixed a character encoding issue preventing artwork downloading on some devices
  • +
  • Updated language around including/excluding songs
  • +
  • Possible fix for playlist editing issues on Android 10
  • +
  • Shuttle is now free - Shuttle+ will be removed, so only one version of Shuttle will exist on the Play Store
  • +

2.0.15

  • More playlist related crash fixes
  • diff --git a/app/src/main/assets/web/info_dark.html b/app/src/main/assets/web/info_dark.html index a5efbcf57..5b7b837c9 100644 --- a/app/src/main/assets/web/info_dark.html +++ b/app/src/main/assets/web/info_dark.html @@ -8,6 +8,18 @@ +

    2.0.17

    +
      +
    • Fixed an issue where playlists didn't show up on some devices
    • +
    • Shuttle 2 is in alpha testing! DM me your Play Store email address on Discord if you're interested in testing.
    • +
    +

    2.0.16

    +
      +
    • Fixed a character encoding issue preventing artwork downloading on some devices
    • +
    • Updated language around including/excluding songs
    • +
    • Possible fix for playlist editing issues on Android 10
    • +
    • Shuttle is now free - Shuttle+ will be removed, so only one version of Shuttle will exist on the Play Store
    • +

    2.0.15

    • More playlist related crash fixes
    • diff --git a/app/src/main/java/com/simplecity/amp_library/ShuttleApplication.java b/app/src/main/java/com/simplecity/amp_library/ShuttleApplication.java index c33244751..5d7b03b4c 100644 --- a/app/src/main/java/com/simplecity/amp_library/ShuttleApplication.java +++ b/app/src/main/java/com/simplecity/amp_library/ShuttleApplication.java @@ -30,10 +30,8 @@ import com.simplecity.amp_library.sql.databases.CustomArtworkTable; import com.simplecity.amp_library.sql.providers.PlayCountTable; import com.simplecity.amp_library.sql.sqlbrite.SqlBriteUtils; -import com.simplecity.amp_library.utils.AnalyticsManager; import com.simplecity.amp_library.utils.DataManager; import com.simplecity.amp_library.utils.InputMethodManagerLeaks; -import com.simplecity.amp_library.utils.LegacyUtils; import com.simplecity.amp_library.utils.LogUtils; import com.simplecity.amp_library.utils.SettingsManager; import com.simplecity.amp_library.utils.StringUtils; @@ -72,8 +70,6 @@ public static synchronized ShuttleApplication getInstance() { return instance; } - private boolean isUpgraded; - public static final double VOLUME_INCREMENT = 0.05; private RefWatcher refWatcher; @@ -182,15 +178,6 @@ public static String getVersion() { return "unknown"; } - public void setIsUpgraded(boolean isUpgraded) { - this.isUpgraded = isUpgraded; - AnalyticsManager.setIsUpgraded(); - } - - public boolean getIsUpgraded() { - return isUpgraded || BuildConfig.DEBUG; - } - public static File getDiskCacheDir(String uniqueName) { try { // Check if media is mounted or storage is built-in, if so, try and use external cache dir diff --git a/app/src/main/java/com/simplecity/amp_library/billing/BillingManager.java b/app/src/main/java/com/simplecity/amp_library/billing/BillingManager.java deleted file mode 100644 index 9b466f2a0..000000000 --- a/app/src/main/java/com/simplecity/amp_library/billing/BillingManager.java +++ /dev/null @@ -1,171 +0,0 @@ -package com.simplecity.amp_library.billing; - -import android.annotation.SuppressLint; -import android.app.Activity; -import android.support.annotation.Nullable; -import android.util.Log; -import com.android.billingclient.api.BillingClient; -import com.android.billingclient.api.BillingClientStateListener; -import com.android.billingclient.api.BillingFlowParams; -import com.android.billingclient.api.Purchase; -import com.android.billingclient.api.PurchasesUpdatedListener; -import com.simplecity.amp_library.constants.Config; -import com.simplecity.amp_library.rx.UnsafeAction; -import com.simplecity.amp_library.utils.LogUtils; -import java.util.List; - -public class BillingManager implements PurchasesUpdatedListener { - - private static final String TAG = "BillingManager"; - - public static final int BILLING_MANAGER_NOT_INITIALIZED = -1; - - public interface BillingUpdatesListener { - void onPurchasesUpdated(List purchases); - - void onPremiumPurchaseCompleted(); - - void onPremiumPurchaseRestored(); - } - - private Activity activity; - - private BillingUpdatesListener updatesListener; - - @Nullable - private BillingClient billingClient; - - boolean serviceConnected = false; - - int billingClientResponseCode = BILLING_MANAGER_NOT_INITIALIZED; - - private boolean purchaseFlowInitiated = false; - private boolean restorePurchasesInitiated = false; - - public BillingManager(Activity activity, final BillingUpdatesListener updatesListener) { - - this.activity = activity; - this.updatesListener = updatesListener; - - billingClient = BillingClient.newBuilder(activity) - .setListener(this) - .build(); - - startServiceConnection(this::queryPurchases); - } - - private void startServiceConnection(UnsafeAction executeOnSuccess) { - if (billingClient != null) { - billingClient.startConnection(new BillingClientStateListener() { - @Override - public void onBillingSetupFinished(int responseCode) { - if (responseCode == BillingClient.BillingResponse.OK) { - serviceConnected = true; - executeOnSuccess.run(); - } - billingClientResponseCode = responseCode; - } - - @Override - public void onBillingServiceDisconnected() { - // Try to restart the connection on the next request to - // Google Play by calling the startConnection() method. - serviceConnected = false; - } - }); - } - } - - @SuppressLint("DefaultLocale") - @Override - public void onPurchasesUpdated(int resultCode, @Nullable List purchases) { - if (resultCode == BillingClient.BillingResponse.OK && purchases != null) { - Purchase premiumPurchase = null; - for (Purchase purchase : purchases) { - if (purchase.getSku().equals(Config.SKU_PREMIUM)) { - premiumPurchase = purchase; - } - } - if (purchaseFlowInitiated || restorePurchasesInitiated) { - if (premiumPurchase != null) { - if (purchaseFlowInitiated) { - updatesListener.onPremiumPurchaseCompleted(); - purchaseFlowInitiated = false; - } - if (restorePurchasesInitiated) { - updatesListener.onPremiumPurchaseRestored(); - restorePurchasesInitiated = false; - } - } - } else { - updatesListener.onPurchasesUpdated(purchases); - } - } else if (resultCode == BillingClient.BillingResponse.USER_CANCELED) { - Log.i(TAG, "onPurchasesUpdated() - user cancelled the purchase flow - skipping"); - } else { - LogUtils.logException(TAG, String.format("onPurchasesUpdated() got unknown resultCode: %d", resultCode), null); - } - } - - public void queryPurchases() { - UnsafeAction queryAction = () -> { - if (billingClient == null) return; - Purchase.PurchasesResult purchasesResult = billingClient.queryPurchases(BillingClient.SkuType.INAPP); - if (purchasesResult.getResponseCode() == BillingClient.BillingResponse.OK) { - onPurchasesUpdated(BillingClient.BillingResponse.OK, purchasesResult.getPurchasesList()); - } else { - LogUtils.logException(TAG, "Query purchases() got an unknown response code: " + purchasesResult.getResponseCode(), null); - } - }; - - if (serviceConnected) { - queryAction.run(); - } else { - startServiceConnection(queryAction); - } - } - - /** - * Start a purchase or subscription replace flow - */ - public void initiatePurchaseFlow(final String skuId, final @BillingClient.SkuType String billingType) { - UnsafeAction purchaseFlowRequest = () -> { - BillingFlowParams purchaseParams = BillingFlowParams.newBuilder() - .setSku(skuId) - .setType(billingType) - .build(); - if (billingClient != null) { - billingClient.launchBillingFlow(activity, purchaseParams); - purchaseFlowInitiated = true; - } - }; - - if (serviceConnected) { - purchaseFlowRequest.run(); - } else { - startServiceConnection(purchaseFlowRequest); - } - } - - public void restorePurchases() { - restorePurchasesInitiated = true; - queryPurchases(); - } - - /** - * Returns the value Billing client response code or BILLING_MANAGER_NOT_INITIALIZED if the - * client connection response was not received yet. - */ - public int getBillingClientResponseCode() { - return billingClientResponseCode; - } - - public void destroy() { - Log.d(TAG, "Destroying the manager."); - - if (billingClient != null && billingClient.isReady()) { - billingClient.endConnection(); - billingClient = null; - } - } -} diff --git a/app/src/main/java/com/simplecity/amp_library/constants/Config.java b/app/src/main/java/com/simplecity/amp_library/constants/Config.java index 73f9834e8..3fa5fb1f1 100644 --- a/app/src/main/java/com/simplecity/amp_library/constants/Config.java +++ b/app/src/main/java/com/simplecity/amp_library/constants/Config.java @@ -14,7 +14,4 @@ private Config() { public static final String PACKAGE_NAME_PRO = "com.simplecity.amp_pro"; public static final String CHROMECAST_APP_ID = "73341C53"; - - // IAP - public static final String SKU_PREMIUM = "id_upgrade_to_pro"; } diff --git a/app/src/main/java/com/simplecity/amp_library/model/Album.java b/app/src/main/java/com/simplecity/amp_library/model/Album.java index 73f23eb77..93952da41 100644 --- a/app/src/main/java/com/simplecity/amp_library/model/Album.java +++ b/app/src/main/java/com/simplecity/amp_library/model/Album.java @@ -13,7 +13,7 @@ import java.io.Serializable; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; -import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.List; @@ -217,8 +217,8 @@ private void setArtworkKey() { public String getRemoteArtworkUrl() { try { return "https://artwork.shuttlemusicplayer.app/api/v1/artwork" - + "?artist=" + URLEncoder.encode(albumArtistName, Charset.forName("UTF-8").toString()) - + "&album=" + URLEncoder.encode(name, Charset.forName("UTF-8").toString()); + + "?artist=" + URLEncoder.encode(albumArtistName, StandardCharsets.UTF_8.name()) + + "&album=" + URLEncoder.encode(name, StandardCharsets.UTF_8.name()); } catch (UnsupportedEncodingException e) { return null; } diff --git a/app/src/main/java/com/simplecity/amp_library/model/AlbumArtist.java b/app/src/main/java/com/simplecity/amp_library/model/AlbumArtist.java index e1d38a6c3..9dee22679 100644 --- a/app/src/main/java/com/simplecity/amp_library/model/AlbumArtist.java +++ b/app/src/main/java/com/simplecity/amp_library/model/AlbumArtist.java @@ -12,7 +12,7 @@ import java.io.Serializable; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; -import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -126,7 +126,7 @@ public int hashCode() { @Override public String getRemoteArtworkUrl() { try { - return "https://artwork.shuttlemusicplayer.app/api/v1/artwork?artist=" + URLEncoder.encode(name, Charset.forName("UTF-8").toString()); + return "https://artwork.shuttlemusicplayer.app/api/v1/artwork?artist=" + URLEncoder.encode(name, StandardCharsets.UTF_8.name()); } catch (UnsupportedEncodingException e) { return null; } diff --git a/app/src/main/java/com/simplecity/amp_library/model/Playlist.java b/app/src/main/java/com/simplecity/amp_library/model/Playlist.java index 9e0a89ef0..258790039 100644 --- a/app/src/main/java/com/simplecity/amp_library/model/Playlist.java +++ b/app/src/main/java/com/simplecity/amp_library/model/Playlist.java @@ -109,7 +109,7 @@ public static Playlist podcastPlaylist() { // Check if there are any podcasts Query query = new Query.Builder() .uri(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI) - .projection(new String[] { "count(*)", MediaStore.Audio.Media.IS_PODCAST}) + .projection(new String[] { MediaStore.Audio.Media.IS_PODCAST }) .selection(MediaStore.Audio.Media.IS_PODCAST + "=1") .build(); diff --git a/app/src/main/java/com/simplecity/amp_library/model/Song.java b/app/src/main/java/com/simplecity/amp_library/model/Song.java index f9ce4095e..aaae23b27 100644 --- a/app/src/main/java/com/simplecity/amp_library/model/Song.java +++ b/app/src/main/java/com/simplecity/amp_library/model/Song.java @@ -23,7 +23,7 @@ import java.io.Serializable; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; -import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; import java.util.List; public class Song implements @@ -361,8 +361,8 @@ private void setArtworkKey() { public String getRemoteArtworkUrl() { try { return "https://artwork.shuttlemusicplayer.app/api/v1/artwork" - + "?artist=" + URLEncoder.encode(albumArtistName, Charset.forName("UTF-8").toString()) - + "&album=" + URLEncoder.encode(albumName, Charset.forName("UTF-8").toString()); + + "?artist=" + URLEncoder.encode(albumArtistName, StandardCharsets.UTF_8.name()) + + "&album=" + URLEncoder.encode(albumName, StandardCharsets.UTF_8.name()); } catch (UnsupportedEncodingException e) { return null; } diff --git a/app/src/main/java/com/simplecity/amp_library/playback/ChromecastManager.java b/app/src/main/java/com/simplecity/amp_library/playback/ChromecastManager.java index 9ebdd0c2f..40cb9ac81 100644 --- a/app/src/main/java/com/simplecity/amp_library/playback/ChromecastManager.java +++ b/app/src/main/java/com/simplecity/amp_library/playback/ChromecastManager.java @@ -57,11 +57,9 @@ class ChromecastManager { } void init() { - if (ShuttleUtils.isUpgraded()) { - castManager = VideoCastManager.getInstance(); - setupCastListener(); - castManager.addVideoCastConsumer(castConsumer); - } + castManager = VideoCastManager.getInstance(); + setupCastListener(); + castManager.addVideoCastConsumer(castConsumer); if (castManager != null && castManager.isConnected()) { updatePlaybackLocation(PlaybackManager.PlaybackLocation.REMOTE); diff --git a/app/src/main/java/com/simplecity/amp_library/playback/PlaybackManager.java b/app/src/main/java/com/simplecity/amp_library/playback/PlaybackManager.java index 987ef5e58..fa5142788 100644 --- a/app/src/main/java/com/simplecity/amp_library/playback/PlaybackManager.java +++ b/app/src/main/java/com/simplecity/amp_library/playback/PlaybackManager.java @@ -649,7 +649,7 @@ public void stop(boolean goToIdle) { Log.e(TAG, e.toString()); } if (goToIdle) { - if (ShuttleUtils.isUpgraded() && chromecastManager.castManager != null) { + if (chromecastManager.castManager != null) { HttpServer.getInstance().stop(); } setIsSupposedToBePlaying(false, false); diff --git a/app/src/main/java/com/simplecity/amp_library/search/SearchFragment.java b/app/src/main/java/com/simplecity/amp_library/search/SearchFragment.java index 629a31f6a..c6b79ca9f 100644 --- a/app/src/main/java/com/simplecity/amp_library/search/SearchFragment.java +++ b/app/src/main/java/com/simplecity/amp_library/search/SearchFragment.java @@ -39,7 +39,6 @@ import com.simplecity.amp_library.ui.detail.album.AlbumDetailFragment; import com.simplecity.amp_library.ui.detail.artist.ArtistDetailFragment; import com.simplecity.amp_library.ui.dialog.DeleteDialog; -import com.simplecity.amp_library.ui.dialog.UpgradeDialog; import com.simplecity.amp_library.ui.fragments.BaseFragment; import com.simplecity.amp_library.ui.modelviews.AlbumArtistView; import com.simplecity.amp_library.ui.modelviews.AlbumView; @@ -350,11 +349,6 @@ public void goToAlbum(Album album, View transitionView) { searchView.getHandler().postDelayed(() -> pushDetailFragment(AlbumDetailFragment.newInstance(album, transitionName), transitionView), 50); } - @Override - public void showUpgradeDialog() { - UpgradeDialog.getUpgradeDialog(getActivity()).show(); - } - void pushDetailFragment(Fragment fragment, @Nullable View transitionView) { List> transitions = new ArrayList<>(); diff --git a/app/src/main/java/com/simplecity/amp_library/search/SearchView.java b/app/src/main/java/com/simplecity/amp_library/search/SearchView.java index 7673505d7..92448c4e2 100644 --- a/app/src/main/java/com/simplecity/amp_library/search/SearchView.java +++ b/app/src/main/java/com/simplecity/amp_library/search/SearchView.java @@ -28,6 +28,4 @@ public interface SearchView { void goToArtist(AlbumArtist albumArtist, View transitionView); void goToAlbum(Album album, View transitionView); - - void showUpgradeDialog(); } \ No newline at end of file diff --git a/app/src/main/java/com/simplecity/amp_library/ui/activities/BaseActivity.java b/app/src/main/java/com/simplecity/amp_library/ui/activities/BaseActivity.java index 658090ae6..402767c4e 100644 --- a/app/src/main/java/com/simplecity/amp_library/ui/activities/BaseActivity.java +++ b/app/src/main/java/com/simplecity/amp_library/ui/activities/BaseActivity.java @@ -16,20 +16,11 @@ import android.widget.Toast; import com.afollestad.aesthetic.AestheticActivity; -import com.android.billingclient.api.BillingClient; -import com.android.billingclient.api.Purchase; import com.greysonparrelli.permiso.Permiso; -import com.simplecity.amp_library.R; -import com.simplecity.amp_library.ShuttleApplication; -import com.simplecity.amp_library.billing.BillingManager; -import com.simplecity.amp_library.constants.Config; import com.simplecity.amp_library.playback.constants.InternalIntents; -import com.simplecity.amp_library.ui.dialog.UpgradeDialog; import com.simplecity.amp_library.utils.MusicServiceConnectionUtils; import com.simplecity.amp_library.utils.SettingsManager; -import java.util.List; - import static android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON; public abstract class BaseActivity extends AestheticActivity implements ServiceConnection { @@ -37,9 +28,6 @@ public abstract class BaseActivity extends AestheticActivity implements ServiceC @Nullable private MusicServiceConnectionUtils.ServiceToken token; - @Nullable - private BillingManager billingManager; - @CallSuper protected void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -63,29 +51,6 @@ public void onRationaleRequested(Permiso.IOnRationaleProvided callback, String.. } }, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.WAKE_LOCK); - billingManager = new BillingManager(this, new BillingManager.BillingUpdatesListener() { - @Override - public void onPurchasesUpdated(List purchases) { - for (Purchase purchase : purchases) { - if (purchase.getSku().equals(Config.SKU_PREMIUM)) { - ShuttleApplication.getInstance().setIsUpgraded(true); - } - } - } - - @Override - public void onPremiumPurchaseCompleted() { - ShuttleApplication.getInstance().setIsUpgraded(true); - UpgradeDialog.getUpgradeSuccessDialog(BaseActivity.this).show(); - } - - @Override - public void onPremiumPurchaseRestored() { - ShuttleApplication.getInstance().setIsUpgraded(true); - Toast.makeText(BaseActivity.this, R.string.iab_purchase_restored, Toast.LENGTH_SHORT).show(); - } - }); - setVolumeControlStream(AudioManager.STREAM_MUSIC); } @@ -99,10 +64,6 @@ protected void onResume() { } Permiso.getInstance().setActivity(this); - - if (billingManager != null && billingManager.getBillingClientResponseCode() == BillingClient.BillingResponse.OK) { - billingManager.queryPurchases(); - } } @Override @@ -115,18 +76,9 @@ public void onRequestPermissionsResult(int requestCode, @NonNull String[] permis protected void onDestroy() { unbindService(); - if (billingManager != null) { - billingManager.destroy(); - } - super.onDestroy(); } - @Nullable - public BillingManager getBillingManager() { - return billingManager; - } - void bindService() { MusicServiceConnectionUtils.bindToService(getLifecycle(), this, this, serviceToken -> token = serviceToken); } diff --git a/app/src/main/java/com/simplecity/amp_library/ui/detail/album/AlbumDetailFragment.java b/app/src/main/java/com/simplecity/amp_library/ui/detail/album/AlbumDetailFragment.java index 2f2707742..65cb87864 100644 --- a/app/src/main/java/com/simplecity/amp_library/ui/detail/album/AlbumDetailFragment.java +++ b/app/src/main/java/com/simplecity/amp_library/ui/detail/album/AlbumDetailFragment.java @@ -43,7 +43,6 @@ import com.simplecity.amp_library.tagger.TaggerDialog; import com.simplecity.amp_library.ui.dialog.BiographyDialog; import com.simplecity.amp_library.ui.dialog.DeleteDialog; -import com.simplecity.amp_library.ui.dialog.UpgradeDialog; import com.simplecity.amp_library.ui.drawer.DrawerLockManager; import com.simplecity.amp_library.ui.fragments.BaseFragment; import com.simplecity.amp_library.ui.fragments.TransitionListenerAdapter; @@ -597,11 +596,6 @@ public void showBioDialog() { BiographyDialog.getArtistBiographyDialog(getContext(), album.name).show(); } - @Override - public void showUpgradeDialog() { - UpgradeDialog.getUpgradeDialog(getActivity()).show(); - } - @Override public void showCreatePlaylistDialog(@NonNull List songs) { PlaylistUtils.createPlaylistDialog(getContext(), songs, () -> presenter.closeContextualToolbar()); diff --git a/app/src/main/java/com/simplecity/amp_library/ui/detail/album/AlbumDetailPresenter.kt b/app/src/main/java/com/simplecity/amp_library/ui/detail/album/AlbumDetailPresenter.kt index ba74a81a1..009915258 100644 --- a/app/src/main/java/com/simplecity/amp_library/ui/detail/album/AlbumDetailPresenter.kt +++ b/app/src/main/java/com/simplecity/amp_library/ui/detail/album/AlbumDetailPresenter.kt @@ -10,7 +10,6 @@ import com.simplecity.amp_library.rx.UnsafeAction import com.simplecity.amp_library.ui.presenters.Presenter import com.simplecity.amp_library.utils.PermissionUtils import com.simplecity.amp_library.utils.PlaylistUtils -import com.simplecity.amp_library.utils.ShuttleUtils import com.simplecity.amp_library.utils.sorting.SortManager import io.reactivex.android.schedulers.AndroidSchedulers @@ -72,11 +71,7 @@ class AlbumDetailPresenter constructor(private val mediaManager: MediaManager, p } fun editTags() { - if (!ShuttleUtils.isUpgraded()) { - view?.showUpgradeDialog() - } else { - view?.showTaggerDialog() - } + view?.showTaggerDialog() } fun editArtwork() { diff --git a/app/src/main/java/com/simplecity/amp_library/ui/detail/album/AlbumDetailView.kt b/app/src/main/java/com/simplecity/amp_library/ui/detail/album/AlbumDetailView.kt index 1976c58dd..4ac89fe7c 100644 --- a/app/src/main/java/com/simplecity/amp_library/ui/detail/album/AlbumDetailView.kt +++ b/app/src/main/java/com/simplecity/amp_library/ui/detail/album/AlbumDetailView.kt @@ -16,8 +16,6 @@ interface AlbumDetailView { fun showBioDialog() - fun showUpgradeDialog() - @JvmSuppressWildcards fun showCreatePlaylistDialog(songs: List) diff --git a/app/src/main/java/com/simplecity/amp_library/ui/detail/artist/ArtistDetailFragment.java b/app/src/main/java/com/simplecity/amp_library/ui/detail/artist/ArtistDetailFragment.java index 4c371433e..60f0e0b16 100644 --- a/app/src/main/java/com/simplecity/amp_library/ui/detail/artist/ArtistDetailFragment.java +++ b/app/src/main/java/com/simplecity/amp_library/ui/detail/artist/ArtistDetailFragment.java @@ -49,7 +49,6 @@ import com.simplecity.amp_library.ui.detail.album.AlbumDetailFragment; import com.simplecity.amp_library.ui.dialog.BiographyDialog; import com.simplecity.amp_library.ui.dialog.DeleteDialog; -import com.simplecity.amp_library.ui.dialog.UpgradeDialog; import com.simplecity.amp_library.ui.drawer.DrawerLockManager; import com.simplecity.amp_library.ui.fragments.BaseFragment; import com.simplecity.amp_library.ui.fragments.TransitionListenerAdapter; @@ -693,11 +692,6 @@ public void showBioDialog() { BiographyDialog.getArtistBiographyDialog(getContext(), albumArtist.name).show(); } - @Override - public void showUpgradeDialog() { - UpgradeDialog.getUpgradeDialog(getActivity()).show(); - } - @Override public void showCreatePlaylistDialog(@NonNull List songs) { PlaylistUtils.createPlaylistDialog(getContext(), songs, () -> presenter.closeContextualToolbar()); diff --git a/app/src/main/java/com/simplecity/amp_library/ui/detail/artist/ArtistDetailPresenter.kt b/app/src/main/java/com/simplecity/amp_library/ui/detail/artist/ArtistDetailPresenter.kt index e34878a67..a9173d7ba 100644 --- a/app/src/main/java/com/simplecity/amp_library/ui/detail/artist/ArtistDetailPresenter.kt +++ b/app/src/main/java/com/simplecity/amp_library/ui/detail/artist/ArtistDetailPresenter.kt @@ -13,7 +13,6 @@ import com.simplecity.amp_library.ui.presenters.Presenter import com.simplecity.amp_library.utils.Operators import com.simplecity.amp_library.utils.PermissionUtils import com.simplecity.amp_library.utils.PlaylistUtils -import com.simplecity.amp_library.utils.ShuttleUtils import com.simplecity.amp_library.utils.sorting.SortManager import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.functions.BiFunction @@ -95,11 +94,7 @@ class ArtistDetailPresenter constructor(private val mediaManager: MediaManager, } fun editTags() { - if (!ShuttleUtils.isUpgraded()) { - view?.showUpgradeDialog() - } else { - view?.showTaggerDialog() - } + view?.showTaggerDialog() } fun editArtwork() { diff --git a/app/src/main/java/com/simplecity/amp_library/ui/detail/artist/ArtistDetailView.kt b/app/src/main/java/com/simplecity/amp_library/ui/detail/artist/ArtistDetailView.kt index c498735eb..1c7363adb 100644 --- a/app/src/main/java/com/simplecity/amp_library/ui/detail/artist/ArtistDetailView.kt +++ b/app/src/main/java/com/simplecity/amp_library/ui/detail/artist/ArtistDetailView.kt @@ -19,8 +19,6 @@ interface ArtistDetailView { fun showBioDialog() - fun showUpgradeDialog() - @JvmSuppressWildcards fun showCreatePlaylistDialog(songs: List) diff --git a/app/src/main/java/com/simplecity/amp_library/ui/dialog/InclExclDialog.java b/app/src/main/java/com/simplecity/amp_library/ui/dialog/InclExclDialog.java index a9a496a1d..63c61c377 100644 --- a/app/src/main/java/com/simplecity/amp_library/ui/dialog/InclExclDialog.java +++ b/app/src/main/java/com/simplecity/amp_library/ui/dialog/InclExclDialog.java @@ -40,7 +40,7 @@ public static MaterialDialog getDialog(Context context, @InclExclItem.Type int t .title(getTitleResId(type)) .customView(view, false) .positiveText(R.string.close) - .negativeText(R.string.pref_title_clear_whitelist) + .negativeText(R.string.pref_title_clear_includes) .onNegative((materialDialog, dialogAction) -> { InclExclHelper.deleteAllItems(type); Toast.makeText(context, getItemsDeletedResId(type), Toast.LENGTH_SHORT).show(); @@ -78,15 +78,15 @@ public static MaterialDialog getDialog(Context context, @InclExclItem.Type int t } private static int getTitleResId(@InclExclItem.Type int type) { - return type == InclExclItem.Type.INCLUDE ? R.string.whitelist_title : R.string.blacklist_title; + return type == InclExclItem.Type.INCLUDE ? R.string.includes_title : R.string.excludes_title; } private static int getItemsEmptyResId(@InclExclItem.Type int type) { - return type == InclExclItem.Type.INCLUDE ? R.string.whitelist_empty : R.string.blacklist_empty; + return type == InclExclItem.Type.INCLUDE ? R.string.includes_empty : R.string.excludes_empty; } private static int getItemsDeletedResId(@InclExclItem.Type int type) { - return type == InclExclItem.Type.INCLUDE ? R.string.whitelist_deleted : R.string.blacklist_deleted; + return type == InclExclItem.Type.INCLUDE ? R.string.includes_deleted : R.string.excludes_deleted; } private static Observable> getItems(@InclExclItem.Type int type, InclExclView.ClickListener listener) { diff --git a/app/src/main/java/com/simplecity/amp_library/ui/dialog/TabChooserDialog.java b/app/src/main/java/com/simplecity/amp_library/ui/dialog/TabChooserDialog.java index 915dea800..498d558e0 100644 --- a/app/src/main/java/com/simplecity/amp_library/ui/dialog/TabChooserDialog.java +++ b/app/src/main/java/com/simplecity/amp_library/ui/dialog/TabChooserDialog.java @@ -53,11 +53,7 @@ public void onStartDrag(TabViewModel.ViewHolder holder) { @Override public void onFolderChecked(TabViewModel tabViewModel, TabViewModel.ViewHolder viewHolder) { - if (!ShuttleUtils.isUpgraded()) { - viewHolder.checkBox.setChecked(false); - tabViewModel.categoryItem.isChecked = false; - UpgradeDialog.getUpgradeDialog(activity).show(); - } + } }; diff --git a/app/src/main/java/com/simplecity/amp_library/ui/dialog/UpgradeDialog.java b/app/src/main/java/com/simplecity/amp_library/ui/dialog/UpgradeDialog.java deleted file mode 100644 index 856cf78e8..000000000 --- a/app/src/main/java/com/simplecity/amp_library/ui/dialog/UpgradeDialog.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.simplecity.amp_library.ui.dialog; - -import android.app.Activity; -import android.content.ComponentName; -import android.content.Intent; -import android.support.annotation.NonNull; -import android.util.Log; -import com.afollestad.materialdialogs.MaterialDialog; -import com.android.billingclient.api.BillingClient; -import com.simplecity.amp_library.R; -import com.simplecity.amp_library.ShuttleApplication; -import com.simplecity.amp_library.billing.BillingManager; -import com.simplecity.amp_library.constants.Config; -import com.simplecity.amp_library.ui.activities.BaseActivity; -import com.simplecity.amp_library.ui.activities.MainActivity; -import com.simplecity.amp_library.utils.ShuttleUtils; - -public class UpgradeDialog { - - private static final String TAG = "UpgradeDialog"; - - private UpgradeDialog() { - //no instance - } - - public static MaterialDialog getUpgradeDialog(@NonNull Activity activity) { - return new MaterialDialog.Builder(activity) - .title(activity.getResources().getString(R.string.get_pro_title)) - .content(activity.getResources().getString(R.string.upgrade_dialog_message)) - .positiveText(R.string.btn_upgrade) - .onPositive((dialog, which) -> { - if (ShuttleUtils.isAmazonBuild()) { - Intent storeIntent = ShuttleUtils.getShuttleStoreIntent("com.simplecity.amp_pro"); - if (storeIntent.resolveActivity(ShuttleApplication.getInstance().getPackageManager()) != null) { - activity.startActivity(storeIntent); - } else { - activity.startActivity(ShuttleUtils.getShuttleWebIntent("com.simplecity.amp_pro")); - } - } else { - purchaseUpgrade(activity); - } - }) - .negativeText(R.string.get_pro_button_no) - .build(); - } - - private static void purchaseUpgrade(@NonNull Activity activity) { - if (!(activity instanceof BaseActivity)) { - Log.e(TAG, "Purchase may only be initiated with a BaseActivity"); - return; - } - BillingManager billingManager = ((BaseActivity) activity).getBillingManager(); - if (billingManager != null) { - billingManager.initiatePurchaseFlow(Config.SKU_PREMIUM, BillingClient.SkuType.INAPP); - } - } - - public static MaterialDialog getUpgradeSuccessDialog(@NonNull Activity activity) { - return new MaterialDialog.Builder(activity) - .title(activity.getResources().getString(R.string.upgraded_title)) - .content(activity.getResources().getString(R.string.upgraded_message)) - .positiveText(R.string.restart_button) - .onPositive((materialDialog, dialogAction) -> { - Intent intent = new Intent(activity, MainActivity.class); - ComponentName componentName = intent.getComponent(); - Intent mainIntent = Intent.makeRestartActivityTask(componentName); - activity.startActivity(mainIntent); - }) - .build(); - } -} \ No newline at end of file diff --git a/app/src/main/java/com/simplecity/amp_library/ui/drawer/DrawerFragment.java b/app/src/main/java/com/simplecity/amp_library/ui/drawer/DrawerFragment.java index ec9da39bd..391ce3f7e 100644 --- a/app/src/main/java/com/simplecity/amp_library/ui/drawer/DrawerFragment.java +++ b/app/src/main/java/com/simplecity/amp_library/ui/drawer/DrawerFragment.java @@ -307,11 +307,6 @@ public void setDrawerItemSelected(@DrawerParent.Type int type) { }); } - @Override - public void showUpgradeDialog(MaterialDialog dialog) { - dialog.show(); - } - PlayerViewAdapter playerViewAdapter = new PlayerViewAdapter() { @Override public void trackInfoChanged(@Nullable Song song) { @@ -345,11 +340,6 @@ public void trackInfoChanged(@Nullable Song song) { artistNameView.setVisibility(View.VISIBLE); } } - - @Override - public void showUpgradeDialog(MaterialDialog dialog) { - dialog.show(); - } }; @Nullable diff --git a/app/src/main/java/com/simplecity/amp_library/ui/drawer/DrawerParent.java b/app/src/main/java/com/simplecity/amp_library/ui/drawer/DrawerParent.java index b3b2c8dcd..bd0b22c5b 100644 --- a/app/src/main/java/com/simplecity/amp_library/ui/drawer/DrawerParent.java +++ b/app/src/main/java/com/simplecity/amp_library/ui/drawer/DrawerParent.java @@ -34,12 +34,7 @@ public class DrawerParent implements Parent { static DrawerParent equalizerParent = new DrawerParent(Type.EQUALIZER, R.string.equalizer, R.drawable.ic_equalizer_24dp, NavigationEventRelay.equalizerSelectedEvent, false); static DrawerParent settingsParent = new DrawerParent(DrawerParent.Type.SETTINGS, R.string.settings, R.drawable.ic_settings_24dp, NavigationEventRelay.settingsSelectedEvent, false); static DrawerParent supportParent = new DrawerParent(DrawerParent.Type.SUPPORT, R.string.pref_title_support, R.drawable.ic_help_24dp, NavigationEventRelay.supportSelectedEvent, false); - static DrawerParent folderParent = new DrawerParent(DrawerParent.Type.FOLDERS, R.string.folders_title, R.drawable.ic_folder_multiple_24dp, NavigationEventRelay.foldersSelectedEvent, true) { - @Override - public boolean isSelectable() { - return ShuttleUtils.isUpgraded(); - } - }; + static DrawerParent folderParent = new DrawerParent(DrawerParent.Type.FOLDERS, R.string.folders_title, R.drawable.ic_folder_multiple_24dp, NavigationEventRelay.foldersSelectedEvent, true); public @interface Type { int LIBRARY = 0; @@ -156,12 +151,6 @@ public void bindView(ParentHolder holder) { holder.icon.setAlpha(0.6f); } - if (type == DrawerParent.Type.FOLDERS && !ShuttleUtils.isUpgraded()) { - holder.itemView.setAlpha(0.4f); - } else { - holder.itemView.setAlpha(1.0f); - } - if (type == DrawerParent.Type.PLAYLISTS) { holder.itemView.setAlpha(getChildList().isEmpty() ? 0.4f : 1.0f); holder.itemView.setEnabled(!getChildList().isEmpty()); diff --git a/app/src/main/java/com/simplecity/amp_library/ui/drawer/DrawerPresenter.java b/app/src/main/java/com/simplecity/amp_library/ui/drawer/DrawerPresenter.java index 24bed2c52..4861fc9b8 100644 --- a/app/src/main/java/com/simplecity/amp_library/ui/drawer/DrawerPresenter.java +++ b/app/src/main/java/com/simplecity/amp_library/ui/drawer/DrawerPresenter.java @@ -4,17 +4,16 @@ import android.support.annotation.NonNull; import com.simplecity.amp_library.model.Playlist; import com.simplecity.amp_library.model.PlaylistsModel; -import com.simplecity.amp_library.ui.presenters.PurchasePresenter; +import com.simplecity.amp_library.ui.presenters.Presenter; import com.simplecity.amp_library.utils.LogUtils; import com.simplecity.amp_library.utils.PermissionUtils; -import com.simplecity.amp_library.utils.ShuttleUtils; import io.reactivex.Observable; import io.reactivex.android.schedulers.AndroidSchedulers; import java.util.Collections; import java.util.concurrent.TimeUnit; import javax.inject.Inject; -public class DrawerPresenter extends PurchasePresenter { +public class DrawerPresenter extends Presenter { private static final String TAG = "DrawerPresenter"; @@ -25,8 +24,8 @@ public class DrawerPresenter extends PurchasePresenter { PlaylistsModel playlistsModel; @Inject - public DrawerPresenter(Activity activity) { - super(activity); + public DrawerPresenter() { + super(); } @Override @@ -47,11 +46,7 @@ public void bindView(@NonNull DrawerView view) { break; case NavigationEventRelay.NavigationEvent.Type.FOLDERS_SELECTED: if (drawerView != null) { - if (ShuttleUtils.isUpgraded()) { - drawerView.setDrawerItemSelected(DrawerParent.Type.FOLDERS); - } else { - upgradeClicked(); - } + drawerView.setDrawerItemSelected(DrawerParent.Type.FOLDERS); } break; } @@ -63,9 +58,8 @@ private void loadData(@NonNull DrawerView drawerView) { addDisposable(playlistsModel.getPlaylistsObservable() .observeOn(AndroidSchedulers.mainThread()) // Delay the subscription so we're not querying data while the app is launching - .delaySubscription(Observable.timer(1500, TimeUnit.MILLISECONDS)) - // after all, clear all playlist item - // to avoid memory leak in static var DrawerParent.playlistsParent + .delaySubscription(1500, TimeUnit.MILLISECONDS) + // Clear all playlist item to avoid memory leak in static var DrawerParent.playlistsParent .doFinally(() -> drawerView.setPlaylistItems(Collections.emptyList())) .subscribe( drawerView::setPlaylistItems, diff --git a/app/src/main/java/com/simplecity/amp_library/ui/drawer/DrawerView.java b/app/src/main/java/com/simplecity/amp_library/ui/drawer/DrawerView.java index 3fbe0dbee..a26b6bc81 100644 --- a/app/src/main/java/com/simplecity/amp_library/ui/drawer/DrawerView.java +++ b/app/src/main/java/com/simplecity/amp_library/ui/drawer/DrawerView.java @@ -1,10 +1,9 @@ package com.simplecity.amp_library.ui.drawer; import com.simplecity.amp_library.model.Playlist; -import com.simplecity.amp_library.ui.views.PurchaseView; import java.util.List; -public interface DrawerView extends PurchaseView { +public interface DrawerView { void setPlaylistItems(List playlists); diff --git a/app/src/main/java/com/simplecity/amp_library/ui/drawer/NavigationEventRelay.java b/app/src/main/java/com/simplecity/amp_library/ui/drawer/NavigationEventRelay.java index a6b2e4291..7b18843fb 100644 --- a/app/src/main/java/com/simplecity/amp_library/ui/drawer/NavigationEventRelay.java +++ b/app/src/main/java/com/simplecity/amp_library/ui/drawer/NavigationEventRelay.java @@ -14,12 +14,7 @@ public class NavigationEventRelay { static NavigationEvent equalizerSelectedEvent = new NavigationEvent(NavigationEvent.Type.EQUALIZER_SELECTED); static NavigationEvent settingsSelectedEvent = new NavigationEvent(NavigationEvent.Type.SETTINGS_SELECTED); static NavigationEvent supportSelectedEvent = new NavigationEvent(NavigationEvent.Type.SUPPORT_SELECTED); - static NavigationEvent foldersSelectedEvent = new NavigationEvent(NavigationEvent.Type.FOLDERS_SELECTED) { - @Override - public boolean isActionable() { - return ShuttleUtils.isUpgraded(); - } - }; + static NavigationEvent foldersSelectedEvent = new NavigationEvent(NavigationEvent.Type.FOLDERS_SELECTED); private PublishRelay relay = PublishRelay.create(); diff --git a/app/src/main/java/com/simplecity/amp_library/ui/fragments/FolderFragment.java b/app/src/main/java/com/simplecity/amp_library/ui/fragments/FolderFragment.java index eafa19f79..706140be0 100644 --- a/app/src/main/java/com/simplecity/amp_library/ui/fragments/FolderFragment.java +++ b/app/src/main/java/com/simplecity/amp_library/ui/fragments/FolderFragment.java @@ -523,7 +523,7 @@ private void showWhitelist(boolean show) { .filter(viewModel -> viewModel instanceof FolderView) .forEach(viewModel -> ((FolderView) viewModel).setShowWhitelist(show)); adapter.notifyItemRangeChanged(0, adapter.getItemCount(), 0); - contextualToolbar.setTitle(R.string.whitelist_title); + contextualToolbar.setTitle(R.string.includes_title); } private void showBlacklist(boolean show) { @@ -535,7 +535,7 @@ private void showBlacklist(boolean show) { .filter(viewModel -> viewModel instanceof FolderView) .forEach(viewModel -> ((FolderView) viewModel).setShowBlacklist(show)); adapter.notifyItemRangeChanged(0, adapter.getItemCount(), 0); - contextualToolbar.setTitle(R.string.blacklist_title); + contextualToolbar.setTitle(R.string.excludes_title); } @Override diff --git a/app/src/main/java/com/simplecity/amp_library/ui/fragments/MiniPlayerFragment.java b/app/src/main/java/com/simplecity/amp_library/ui/fragments/MiniPlayerFragment.java index c477a2340..d0f7f46a3 100644 --- a/app/src/main/java/com/simplecity/amp_library/ui/fragments/MiniPlayerFragment.java +++ b/app/src/main/java/com/simplecity/amp_library/ui/fragments/MiniPlayerFragment.java @@ -241,10 +241,5 @@ public void trackInfoChanged(@Nullable Song song) { rootView.setContentDescription(getString(R.string.btn_now_playing, song.name, song.artistName)); } - - @Override - public void showUpgradeDialog(MaterialDialog dialog) { - dialog.show(); - } }; } \ No newline at end of file diff --git a/app/src/main/java/com/simplecity/amp_library/ui/fragments/PlayerFragment.java b/app/src/main/java/com/simplecity/amp_library/ui/fragments/PlayerFragment.java index 19f21eb8f..bad41e3cc 100644 --- a/app/src/main/java/com/simplecity/amp_library/ui/fragments/PlayerFragment.java +++ b/app/src/main/java/com/simplecity/amp_library/ui/fragments/PlayerFragment.java @@ -584,11 +584,6 @@ public void showSongInfoDialog(MaterialDialog dialog) { dialog.show(); } - @Override - public void showUpgradeDialog(MaterialDialog dialog) { - dialog.show(); - } - @Override public boolean onMenuItemClick(MenuItem item) { switch (item.getItemId()) { @@ -609,7 +604,7 @@ public boolean onMenuItemClick(MenuItem item) { goToGenre(); return true; case R.id.editTags: - presenter.editTagsClicked(getActivity()); + presenter.editTagsClicked(); return true; case R.id.songInfo: presenter.songInfoClicked(getContext()); diff --git a/app/src/main/java/com/simplecity/amp_library/ui/modelviews/TabViewModel.java b/app/src/main/java/com/simplecity/amp_library/ui/modelviews/TabViewModel.java index 68f367955..f530972c5 100644 --- a/app/src/main/java/com/simplecity/amp_library/ui/modelviews/TabViewModel.java +++ b/app/src/main/java/com/simplecity/amp_library/ui/modelviews/TabViewModel.java @@ -65,12 +65,6 @@ public void bindView(ViewHolder holder) { holder.textView.setText(holder.itemView.getContext().getString(categoryItem.getTitleResId())); holder.checkBox.setChecked(categoryItem.isChecked); - - if (categoryItem.type == CategoryItem.Type.FOLDERS && !ShuttleUtils.isUpgraded()) { - holder.checkBox.setAlpha(0.4f); - } else { - holder.checkBox.setAlpha(1.0f); - } } @Override diff --git a/app/src/main/java/com/simplecity/amp_library/ui/presenters/PlayerPresenter.java b/app/src/main/java/com/simplecity/amp_library/ui/presenters/PlayerPresenter.java index 69b52f2ac..6157d7515 100644 --- a/app/src/main/java/com/simplecity/amp_library/ui/presenters/PlayerPresenter.java +++ b/app/src/main/java/com/simplecity/amp_library/ui/presenters/PlayerPresenter.java @@ -1,6 +1,5 @@ package com.simplecity.amp_library.ui.presenters; -import android.app.Activity; import android.content.Context; import android.content.IntentFilter; import android.support.annotation.NonNull; @@ -14,12 +13,10 @@ import com.simplecity.amp_library.tagger.TaggerDialog; import com.simplecity.amp_library.ui.dialog.BiographyDialog; import com.simplecity.amp_library.ui.dialog.ShareDialog; -import com.simplecity.amp_library.ui.dialog.UpgradeDialog; import com.simplecity.amp_library.ui.views.PlayerView; import com.simplecity.amp_library.utils.LogUtils; import com.simplecity.amp_library.utils.PlaylistUtils; import com.simplecity.amp_library.utils.SettingsManager; -import com.simplecity.amp_library.utils.ShuttleUtils; import io.reactivex.BackpressureStrategy; import io.reactivex.Flowable; import io.reactivex.android.schedulers.AndroidSchedulers; @@ -298,14 +295,10 @@ public void showLyrics(Context context) { } } - public void editTagsClicked(Activity activity) { + public void editTagsClicked() { PlayerView playerView = getView(); if (playerView != null) { - if (!ShuttleUtils.isUpgraded()) { - playerView.showUpgradeDialog(UpgradeDialog.getUpgradeDialog(activity)); - } else { - playerView.showTaggerDialog(TaggerDialog.newInstance(mediaManager.getSong())); - } + playerView.showTaggerDialog(TaggerDialog.newInstance(mediaManager.getSong())); } } diff --git a/app/src/main/java/com/simplecity/amp_library/ui/presenters/PurchasePresenter.java b/app/src/main/java/com/simplecity/amp_library/ui/presenters/PurchasePresenter.java deleted file mode 100644 index 992556760..000000000 --- a/app/src/main/java/com/simplecity/amp_library/ui/presenters/PurchasePresenter.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.simplecity.amp_library.ui.presenters; - -import android.app.Activity; -import com.simplecity.amp_library.ui.dialog.UpgradeDialog; -import com.simplecity.amp_library.ui.views.PurchaseView; - -public class PurchasePresenter extends Presenter { - - private Activity activity; - - public PurchasePresenter(Activity activity) { - this.activity = activity; - } - - public void upgradeClicked() { - PurchaseView purchaseView = getView(); - if (purchaseView != null) { - purchaseView.showUpgradeDialog(UpgradeDialog.getUpgradeDialog(activity)); - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/simplecity/amp_library/ui/queue/QueueContract.kt b/app/src/main/java/com/simplecity/amp_library/ui/queue/QueueContract.kt index 08a242a81..f302f4c7c 100644 --- a/app/src/main/java/com/simplecity/amp_library/ui/queue/QueueContract.kt +++ b/app/src/main/java/com/simplecity/amp_library/ui/queue/QueueContract.kt @@ -23,8 +23,6 @@ interface QueueContract { fun onRemovedFromQueue(queueItem: QueueItem) fun onRemovedFromQueue(queueItems: List) - - fun showUpgradeDialog() } interface Presenter { diff --git a/app/src/main/java/com/simplecity/amp_library/ui/queue/QueueFragment.kt b/app/src/main/java/com/simplecity/amp_library/ui/queue/QueueFragment.kt index f846aba60..f378a33b7 100644 --- a/app/src/main/java/com/simplecity/amp_library/ui/queue/QueueFragment.kt +++ b/app/src/main/java/com/simplecity/amp_library/ui/queue/QueueFragment.kt @@ -23,7 +23,6 @@ import com.simplecity.amp_library.model.Song import com.simplecity.amp_library.playback.MediaManager.Defs import com.simplecity.amp_library.tagger.TaggerDialog import com.simplecity.amp_library.ui.dialog.DeleteDialog -import com.simplecity.amp_library.ui.dialog.UpgradeDialog import com.simplecity.amp_library.ui.fragments.BaseFragment import com.simplecity.amp_library.ui.modelviews.SelectableViewModel import com.simplecity.amp_library.ui.modelviews.SubheaderView @@ -237,10 +236,6 @@ class QueueFragment : BaseFragment(), QueueContract.View { } } } - - override fun showUpgradeDialog(dialog: MaterialDialog) { - dialog.show() - } } private var toolbarListener = Toolbar.OnMenuItemClickListener { item -> @@ -393,9 +388,6 @@ class QueueFragment : BaseFragment(), QueueContract.View { } } - override fun showUpgradeDialog() { - UpgradeDialog.getUpgradeDialog(activity!!).show() - } // Static diff --git a/app/src/main/java/com/simplecity/amp_library/ui/settings/SettingsParentFragment.java b/app/src/main/java/com/simplecity/amp_library/ui/settings/SettingsParentFragment.java index 2ebf8e49b..7111c9c76 100644 --- a/app/src/main/java/com/simplecity/amp_library/ui/settings/SettingsParentFragment.java +++ b/app/src/main/java/com/simplecity/amp_library/ui/settings/SettingsParentFragment.java @@ -206,17 +206,6 @@ public void onCreate(Bundle savedInstanceState) { }); } - Preference restorePurchasesPreference = findPreference(SettingsManager.KEY_PREF_RESTORE_PURCHASES); - if (restorePurchasesPreference != null) { - if (ShuttleUtils.isAmazonBuild() || ShuttleUtils.isUpgraded()) { - restorePurchasesPreference.setVisible(false); - } - restorePurchasesPreference.setOnPreferenceClickListener(preference -> { - settingsPresenter.restorePurchasesClicked(getActivity()); - return true; - }); - } - // Display Preference chooseTabsPreference = findPreference(SettingsManager.KEY_PREF_TAB_CHOOSER); @@ -368,14 +357,6 @@ public void onCreate(Bundle savedInstanceState) { return true; }); } - - // Upgrade preference - Preference upgradePreference = findPreference(SettingsManager.KEY_PREF_UPGRADE); - if (upgradePreference != null) { - if (ShuttleUtils.isUpgraded()) { - upgradePreference.setVisible(false); - } - } } @Override @@ -425,9 +406,6 @@ public boolean onPreferenceTreeClick(Preference preference) { case "pref_blacklist": getNavigationController().pushViewController(SettingsFragment.newInstance(R.xml.settings_blacklist), "BlacklistSettings"); break; - case "pref_upgrade": - settingsPresenter.upgradeClicked(); - break; } } return true; @@ -505,11 +483,6 @@ public void showChangelog(MaterialDialog dialog) { dialog.show(); } - @Override - public void showUpgradeDialog(MaterialDialog dialog) { - dialog.show(); - } - @Override public void showRestorePurchasesMessage(int messageResId) { Toast.makeText(getContext(), messageResId, Toast.LENGTH_LONG).show(); diff --git a/app/src/main/java/com/simplecity/amp_library/ui/settings/SettingsPresenter.java b/app/src/main/java/com/simplecity/amp_library/ui/settings/SettingsPresenter.java index 891e9e054..a9607ec05 100644 --- a/app/src/main/java/com/simplecity/amp_library/ui/settings/SettingsPresenter.java +++ b/app/src/main/java/com/simplecity/amp_library/ui/settings/SettingsPresenter.java @@ -15,15 +15,13 @@ import com.bumptech.glide.Glide; import com.simplecity.amp_library.R; import com.simplecity.amp_library.ShuttleApplication; -import com.simplecity.amp_library.billing.BillingManager; import com.simplecity.amp_library.model.CategoryItem; import com.simplecity.amp_library.model.InclExclItem; import com.simplecity.amp_library.services.ArtworkDownloadService; -import com.simplecity.amp_library.ui.activities.BaseActivity; import com.simplecity.amp_library.ui.dialog.ChangelogDialog; import com.simplecity.amp_library.ui.dialog.InclExclDialog; import com.simplecity.amp_library.ui.dialog.TabChooserDialog; -import com.simplecity.amp_library.ui.presenters.PurchasePresenter; +import com.simplecity.amp_library.ui.presenters.Presenter; import com.simplecity.amp_library.utils.AnalyticsManager; import com.simplecity.amp_library.utils.ColorPalette; import com.simplecity.amp_library.utils.SettingsManager; @@ -33,11 +31,11 @@ import java.util.List; import javax.inject.Inject; -public class SettingsPresenter extends PurchasePresenter { +public class SettingsPresenter extends Presenter { @Inject - public SettingsPresenter(Activity activity) { - super(activity); + public SettingsPresenter() { + super(); } // Support Preferences @@ -51,15 +49,6 @@ void changelogClicked(Context context) { } } - public void restorePurchasesClicked(Activity activity) { - if (activity instanceof BaseActivity) { - BillingManager billingManager = ((BaseActivity) activity).getBillingManager(); - if (billingManager != null) { - billingManager.restorePurchases(); - } - } - } - // Display public void chooseTabsClicked(Activity activity) { @@ -145,7 +134,7 @@ public void primaryColorClicked(Context context) { settingsView.showPrimaryColorDialog( new ColorChooserDialog.Builder(context, R.string.pref_title_theme_pick_color) .customColors(ColorPalette.getPrimaryColors(), ColorPalette.getPrimaryColorsSub()) - .allowUserColorInput(ShuttleUtils.isUpgraded()) + .allowUserColorInput(true) .allowUserColorInputAlpha(false) .dynamicButtonColor(false) .preselect(Aesthetic.get(context).colorPrimary().blockingFirst()) diff --git a/app/src/main/java/com/simplecity/amp_library/ui/settings/SettingsView.java b/app/src/main/java/com/simplecity/amp_library/ui/settings/SettingsView.java index eedf8e687..c096e0a5f 100644 --- a/app/src/main/java/com/simplecity/amp_library/ui/settings/SettingsView.java +++ b/app/src/main/java/com/simplecity/amp_library/ui/settings/SettingsView.java @@ -4,9 +4,8 @@ import android.support.annotation.StringRes; import com.afollestad.materialdialogs.MaterialDialog; import com.afollestad.materialdialogs.color.ColorChooserDialog; -import com.simplecity.amp_library.ui.views.PurchaseView; -public interface SettingsView extends PurchaseView { +public interface SettingsView { // Support diff --git a/app/src/main/java/com/simplecity/amp_library/ui/settings/SupportPresenter.java b/app/src/main/java/com/simplecity/amp_library/ui/settings/SupportPresenter.java index 7888083d6..21e3e4b83 100644 --- a/app/src/main/java/com/simplecity/amp_library/ui/settings/SupportPresenter.java +++ b/app/src/main/java/com/simplecity/amp_library/ui/settings/SupportPresenter.java @@ -27,7 +27,7 @@ public void bindView(@NonNull SupportView view) { private void setAppVersion() { SupportView supportView = getView(); if (supportView != null) { - supportView.setVersion("Shuttle Music Player " + BuildConfig.VERSION_NAME + (ShuttleUtils.isUpgraded() ? " (Upgraded)" : " (Free)")); + supportView.setVersion("Shuttle Music Player " + BuildConfig.VERSION_NAME); } } @@ -41,7 +41,7 @@ public void faqClicked() { } public void helpClicked() { - Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://plus.google.com/communities/112365043563095486408")); + Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://discord.gg/4Z5EU7K")); SupportView supportView = getView(); if (supportView != null) { supportView.showHelp(intent); diff --git a/app/src/main/java/com/simplecity/amp_library/ui/upnext/UpNextView.kt b/app/src/main/java/com/simplecity/amp_library/ui/upnext/UpNextView.kt index a35e284dd..c08252453 100644 --- a/app/src/main/java/com/simplecity/amp_library/ui/upnext/UpNextView.kt +++ b/app/src/main/java/com/simplecity/amp_library/ui/upnext/UpNextView.kt @@ -135,10 +135,6 @@ class UpNextView constructor(context: Context, attrs: AttributeSet? = null, defS (repeatButton as? RepeatButton)?.setRepeatMode(repeatMode) } - override fun showUpgradeDialog(dialog: MaterialDialog) { - dialog.show() - } - override fun trackInfoChanged(song: Song?) { super.trackInfoChanged(song) diff --git a/app/src/main/java/com/simplecity/amp_library/ui/views/CustomMediaRouteActionProvider.java b/app/src/main/java/com/simplecity/amp_library/ui/views/CustomMediaRouteActionProvider.java index 0950c302c..8e5e13fa2 100644 --- a/app/src/main/java/com/simplecity/amp_library/ui/views/CustomMediaRouteActionProvider.java +++ b/app/src/main/java/com/simplecity/amp_library/ui/views/CustomMediaRouteActionProvider.java @@ -25,9 +25,6 @@ public CustomMediaRouteActionProvider(Context context) { public void setActivity(@NonNull Activity activity) { this.activity = activity; - if (customMediaRouteButton != null) { - customMediaRouteButton.setActivity(activity); - } } @Nullable @@ -49,8 +46,6 @@ public CustomMediaRouteButton onCreateMediaRouteButton() { } customMediaRouteButton = new CustomMediaRouteButton(getContext()); - customMediaRouteButton.setActivity(activity); - customMediaRouteButton.setAlpha(ShuttleUtils.isUpgraded() ? 1.0f : 0.5f); customMediaRouteButton.setRouteSelector(selector); customMediaRouteButton.setLayoutParams(new ViewGroup.LayoutParams( ViewGroup.LayoutParams.WRAP_CONTENT, diff --git a/app/src/main/java/com/simplecity/amp_library/ui/views/CustomMediaRouteButton.java b/app/src/main/java/com/simplecity/amp_library/ui/views/CustomMediaRouteButton.java index 19a2e892e..f0608ef40 100644 --- a/app/src/main/java/com/simplecity/amp_library/ui/views/CustomMediaRouteButton.java +++ b/app/src/main/java/com/simplecity/amp_library/ui/views/CustomMediaRouteButton.java @@ -1,22 +1,14 @@ package com.simplecity.amp_library.ui.views; -import android.app.Activity; import android.content.Context; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; import android.support.v7.app.MediaRouteButton; import android.util.AttributeSet; import android.view.ContextThemeWrapper; import com.afollestad.aesthetic.Aesthetic; import com.simplecity.amp_library.R; -import com.simplecity.amp_library.ui.dialog.UpgradeDialog; -import com.simplecity.amp_library.utils.ShuttleUtils; public class CustomMediaRouteButton extends MediaRouteButton { - @Nullable - private Activity activity; - public CustomMediaRouteButton(Context context) { this(context, null); } @@ -35,20 +27,8 @@ private static Context getThemedContext(Context context) { new ContextThemeWrapper(new ContextThemeWrapper(context, R.style.Theme_AppCompat_Light), R.style.Theme_MediaRouter); } - public void setActivity(@NonNull Activity activity) { - this.activity = activity; - } - @Override public boolean showDialog() { - - if (!ShuttleUtils.isUpgraded()) { - if (activity != null) { - UpgradeDialog.getUpgradeDialog(activity).show(); - } - return false; - } - return super.showDialog(); } } \ No newline at end of file diff --git a/app/src/main/java/com/simplecity/amp_library/ui/views/PlayerView.java b/app/src/main/java/com/simplecity/amp_library/ui/views/PlayerView.java index 2774b63ae..9175784b2 100644 --- a/app/src/main/java/com/simplecity/amp_library/ui/views/PlayerView.java +++ b/app/src/main/java/com/simplecity/amp_library/ui/views/PlayerView.java @@ -35,6 +35,4 @@ public interface PlayerView { void showTaggerDialog(TaggerDialog taggerDialog); void showSongInfoDialog(MaterialDialog dialog); - - void showUpgradeDialog(MaterialDialog dialog); } \ No newline at end of file diff --git a/app/src/main/java/com/simplecity/amp_library/ui/views/PurchaseView.java b/app/src/main/java/com/simplecity/amp_library/ui/views/PurchaseView.java deleted file mode 100644 index ec09193ab..000000000 --- a/app/src/main/java/com/simplecity/amp_library/ui/views/PurchaseView.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.simplecity.amp_library.ui.views; - -import com.afollestad.materialdialogs.MaterialDialog; - -public interface PurchaseView { - - void showUpgradeDialog(MaterialDialog dialog); -} \ No newline at end of file diff --git a/app/src/main/java/com/simplecity/amp_library/utils/ColorPalette.java b/app/src/main/java/com/simplecity/amp_library/utils/ColorPalette.java index f9b040e19..32fe02b72 100644 --- a/app/src/main/java/com/simplecity/amp_library/utils/ColorPalette.java +++ b/app/src/main/java/com/simplecity/amp_library/utils/ColorPalette.java @@ -5,11 +5,11 @@ public class ColorPalette { public static int[] getPrimaryColors() { - return ShuttleUtils.isUpgraded() ? PRIMARY_COLORS : PRIMARY_COLORS_FREE; + return PRIMARY_COLORS; } public static int[][] getPrimaryColorsSub() { - return ShuttleUtils.isUpgraded() ? PRIMARY_COLORS_SUB : PRIMARY_COLORS_SUB_FREE; + return PRIMARY_COLORS_SUB; } private final static int[] PRIMARY_COLORS = new int[] { @@ -264,101 +264,4 @@ public static int[][] getPrimaryColorsSub() { Color.parseColor("#263238") } }; - - private final static int[] PRIMARY_COLORS_FREE = new int[] { - Color.parseColor("#F44336"), - Color.parseColor("#9C27B0"), - Color.parseColor("#03A9F4"), - Color.parseColor("#009688"), - Color.parseColor("#4CAF50"), - Color.parseColor("#FFC107"), - Color.parseColor("#9E9E9E") - }; - - private final static int[][] PRIMARY_COLORS_SUB_FREE = new int[][] { - new int[] { - Color.parseColor("#FFEBEE"), - Color.parseColor("#FFCDD2"), - Color.parseColor("#EF9A9A"), - Color.parseColor("#E57373"), - Color.parseColor("#EF5350"), - Color.parseColor("#F44336"), - Color.parseColor("#E53935"), - Color.parseColor("#D32F2F"), - Color.parseColor("#C62828"), - Color.parseColor("#B71C1C") - }, - new int[] { - Color.parseColor("#F3E5F5"), - Color.parseColor("#E1BEE7"), - Color.parseColor("#CE93D8"), - Color.parseColor("#BA68C8"), - Color.parseColor("#AB47BC"), - Color.parseColor("#9C27B0"), - Color.parseColor("#8E24AA"), - Color.parseColor("#7B1FA2"), - Color.parseColor("#6A1B9A"), - Color.parseColor("#4A148C") - }, - new int[] { - Color.parseColor("#E1F5FE"), - Color.parseColor("#B3E5FC"), - Color.parseColor("#81D4FA"), - Color.parseColor("#4FC3F7"), - Color.parseColor("#29B6F6"), - Color.parseColor("#03A9F4"), - Color.parseColor("#039BE5"), - Color.parseColor("#0288D1"), - Color.parseColor("#0277BD"), - Color.parseColor("#01579B") - }, - new int[] { - Color.parseColor("#E0F2F1"), - Color.parseColor("#B2DFDB"), - Color.parseColor("#80CBC4"), - Color.parseColor("#4DB6AC"), - Color.parseColor("#26A69A"), - Color.parseColor("#009688"), - Color.parseColor("#00897B"), - Color.parseColor("#00796B"), - Color.parseColor("#00695C"), - Color.parseColor("#004D40") - }, - new int[] { - Color.parseColor("#E8F5E9"), - Color.parseColor("#C8E6C9"), - Color.parseColor("#A5D6A7"), - Color.parseColor("#81C784"), - Color.parseColor("#66BB6A"), - Color.parseColor("#4CAF50"), - Color.parseColor("#43A047"), - Color.parseColor("#388E3C"), - Color.parseColor("#2E7D32"), - Color.parseColor("#1B5E20") - }, - new int[] { - Color.parseColor("#FFF8E1"), - Color.parseColor("#FFECB3"), - Color.parseColor("#FFE082"), - Color.parseColor("#FFD54F"), - Color.parseColor("#FFCA28"), - Color.parseColor("#FFC107"), - Color.parseColor("#FFB300"), - Color.parseColor("#FFA000"), - Color.parseColor("#FF8F00"), - Color.parseColor("#FF6F00") - }, - new int[] { - Color.parseColor("#FAFAFA"), - Color.parseColor("#F5F5F5"), - Color.parseColor("#EEEEEE"), - Color.parseColor("#E0E0E0"), - Color.parseColor("#BDBDBD"), - Color.parseColor("#9E9E9E"), - Color.parseColor("#757575"), - Color.parseColor("#616161"), - Color.parseColor("#424242"), - Color.parseColor("#212121") - }, - }; } \ No newline at end of file diff --git a/app/src/main/java/com/simplecity/amp_library/utils/DialogUtils.java b/app/src/main/java/com/simplecity/amp_library/utils/DialogUtils.java index de9467965..d274df788 100644 --- a/app/src/main/java/com/simplecity/amp_library/utils/DialogUtils.java +++ b/app/src/main/java/com/simplecity/amp_library/utils/DialogUtils.java @@ -23,31 +23,6 @@ public static MaterialDialog.Builder getBuilder(Context context) { return new MaterialDialog.Builder(context); } - /** - * Displays the popup dialog recommending the user try the paid version - */ - public static void showUpgradeNagDialog(final Context context, MaterialDialog.SingleButtonCallback listener) { - - //If we're in the free version, the app has been launched more than 15 times, - //The message hasn't been read before, display the 'upgrade to pro' dialog. - if (!ShuttleUtils.isUpgraded() - && SettingsManager.getInstance().getLaunchCount() > 15 - && !SettingsManager.getInstance().getNagMessageRead()) { - - MaterialDialog.Builder builder = getBuilder(context) - .title(context.getResources().getString(R.string.get_pro_title)) - .content(context.getResources().getString(R.string.get_pro_message)) - .positiveText(R.string.btn_upgrade) - .onPositive(listener) - .negativeText(R.string.get_pro_button_no); - - builder.show(); - SettingsManager.getInstance().setNagMessageRead(); - - AnalyticsManager.logUpgrade(AnalyticsManager.UpgradeType.NAG); - } - } - public static void showWeekSelectorDialog(final Context context) { @SuppressLint("InflateParams") diff --git a/app/src/main/java/com/simplecity/amp_library/utils/LegacyUtils.java b/app/src/main/java/com/simplecity/amp_library/utils/LegacyUtils.java deleted file mode 100644 index 533c299c8..000000000 --- a/app/src/main/java/com/simplecity/amp_library/utils/LegacyUtils.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.simplecity.amp_library.utils; - -import android.os.Environment; -import android.support.annotation.NonNull; -import com.simplecity.amp_library.ShuttleApplication; -import io.reactivex.Completable; -import java.io.File; - -public class LegacyUtils { - - private LegacyUtils() { - - } - - @NonNull - public static Completable deleteOldResources() { - return Completable.fromAction(() -> { - //Delete albumthumbs/artists directory - if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { - File file = new File(Environment.getExternalStorageDirectory() + "/albumthumbs/artists/"); - if (file.exists() && file.isDirectory()) { - File[] files = file.listFiles(); - if (files != null) { - for (File child : files) { - child.delete(); - } - } - file.delete(); - } - } - - //Delete old http cache - File oldHttpCache = ShuttleApplication.getDiskCacheDir("http"); - if (oldHttpCache != null && oldHttpCache.exists()) { - oldHttpCache.delete(); - } - - //Delete old thumbs cache - File oldThumbsCache = ShuttleApplication.getDiskCacheDir("thumbs"); - if (oldThumbsCache != null && oldThumbsCache.exists()) { - oldThumbsCache.delete(); - } - }); - } -} diff --git a/app/src/main/java/com/simplecity/amp_library/utils/SettingsManager.java b/app/src/main/java/com/simplecity/amp_library/utils/SettingsManager.java index fb5e89ec3..82f2156a2 100644 --- a/app/src/main/java/com/simplecity/amp_library/utils/SettingsManager.java +++ b/app/src/main/java/com/simplecity/amp_library/utils/SettingsManager.java @@ -26,7 +26,6 @@ public static SettingsManager getInstance() { public static String KEY_PREF_FAQ = "pref_faq"; public static String KEY_PREF_HELP = "pref_help"; public static String KEY_PREF_RATE = "pref_rate"; - public static String KEY_PREF_RESTORE_PURCHASES = "pref_restore_purchases"; // Display public static String KEY_PREF_TAB_CHOOSER = "pref_tab_chooser"; @@ -55,9 +54,6 @@ public static SettingsManager getInstance() { // Playback public static String KEY_PREF_REMEMBER_SHUFFLE = "pref_remember_shuffle"; - // Upgrade - public static String KEY_PREF_UPGRADE = "pref_upgrade"; - // Whether the 'rate' snackbar has been seen during this session public boolean hasSeenRateSnackbar = false; @@ -443,12 +439,6 @@ public void setDefaultPageType(@CategoryItem.Type int type) { setInt(KEY_DEFAULT_PAGE, type); } - // Legacy Upgrade Preference - private static final String KEY_UPGRADED = "pref_theme_gold"; - - public boolean getIsLegacyUpgraded() { - return getBool(KEY_UPGRADED, false); - } // Recently added diff --git a/app/src/main/java/com/simplecity/amp_library/utils/ShuttleUtils.java b/app/src/main/java/com/simplecity/amp_library/utils/ShuttleUtils.java index dfd14fe02..501e6d2d4 100644 --- a/app/src/main/java/com/simplecity/amp_library/utils/ShuttleUtils.java +++ b/app/src/main/java/com/simplecity/amp_library/utils/ShuttleUtils.java @@ -195,25 +195,6 @@ public static boolean isOnline(boolean careAboutWifiOnly) { return netInfo != null && netInfo.isConnectedOrConnecting() && !wifiOnly; } - public static boolean isUpgraded() { - - if (ShuttleApplication.getInstance().getIsUpgraded()) { - return true; - } - - if (SettingsManager.getInstance().getIsLegacyUpgraded()) { - return true; - } - - try { - return ShuttleApplication.getInstance().getPackageName().equals(Config.PACKAGE_NAME_PRO); - } catch (Exception ignored) { - } - - //If something goes wrong, assume the user has the pro version - return true; - } - /** * @return true if device is running API >= 23 */ diff --git a/app/src/main/java/com/simplecity/amp_library/utils/menu/album/AlbumMenuCallbacksAdapter.kt b/app/src/main/java/com/simplecity/amp_library/utils/menu/album/AlbumMenuCallbacksAdapter.kt index fbfdff86b..d90bdfcc5 100644 --- a/app/src/main/java/com/simplecity/amp_library/utils/menu/album/AlbumMenuCallbacksAdapter.kt +++ b/app/src/main/java/com/simplecity/amp_library/utils/menu/album/AlbumMenuCallbacksAdapter.kt @@ -6,7 +6,6 @@ import com.simplecity.amp_library.model.Song import com.simplecity.amp_library.tagger.TaggerDialog import com.simplecity.amp_library.ui.dialog.BiographyDialog import com.simplecity.amp_library.ui.dialog.DeleteDialog -import com.simplecity.amp_library.ui.dialog.UpgradeDialog import com.simplecity.amp_library.ui.fragments.BaseFragment import com.simplecity.amp_library.utils.ArtworkDialog import io.reactivex.Single @@ -52,10 +51,6 @@ class AlbumMenuCallbacksAdapter(val fragment: BaseFragment, val disposables: Com ArtworkDialog.build(fragment.context, album).show() } - override fun showUpgradeDialog() { - UpgradeDialog.getUpgradeDialog(fragment.activity!!).show() - } - override fun showToast(message: String) { Toast.makeText(fragment.context, message, Toast.LENGTH_LONG).show() } diff --git a/app/src/main/java/com/simplecity/amp_library/utils/menu/album/AlbumMenuUtils.kt b/app/src/main/java/com/simplecity/amp_library/utils/menu/album/AlbumMenuUtils.kt index 84ec9ca0c..30ad4690e 100644 --- a/app/src/main/java/com/simplecity/amp_library/utils/menu/album/AlbumMenuUtils.kt +++ b/app/src/main/java/com/simplecity/amp_library/utils/menu/album/AlbumMenuUtils.kt @@ -10,7 +10,6 @@ import com.simplecity.amp_library.model.Song import com.simplecity.amp_library.playback.MediaManager import com.simplecity.amp_library.playback.MediaManager.Defs import com.simplecity.amp_library.utils.PlaylistUtils -import com.simplecity.amp_library.utils.ShuttleUtils import com.simplecity.amp_library.utils.extensions.getSongsSingle import com.simplecity.amp_library.utils.menu.MenuUtils import io.reactivex.Single @@ -37,8 +36,6 @@ object AlbumMenuUtils { fun showArtworkChooser(album: Album) - fun showUpgradeDialog() - fun showToast(message: String) } @@ -106,11 +103,7 @@ object AlbumMenuUtils { return@OnMenuItemClickListener true } R.id.editTags -> { - if (ShuttleUtils.isUpgraded()) { - callbacks.showTagEditor(album) - } else { - callbacks.showUpgradeDialog() - } + callbacks.showTagEditor(album) return@OnMenuItemClickListener true } R.id.info -> { diff --git a/app/src/main/java/com/simplecity/amp_library/utils/menu/albumartist/AlbumArtistMenuCallbacksAdapter.kt b/app/src/main/java/com/simplecity/amp_library/utils/menu/albumartist/AlbumArtistMenuCallbacksAdapter.kt index 0bedc3b95..79756f95a 100644 --- a/app/src/main/java/com/simplecity/amp_library/utils/menu/albumartist/AlbumArtistMenuCallbacksAdapter.kt +++ b/app/src/main/java/com/simplecity/amp_library/utils/menu/albumartist/AlbumArtistMenuCallbacksAdapter.kt @@ -6,7 +6,6 @@ import com.simplecity.amp_library.model.Song import com.simplecity.amp_library.tagger.TaggerDialog import com.simplecity.amp_library.ui.dialog.BiographyDialog import com.simplecity.amp_library.ui.dialog.DeleteDialog -import com.simplecity.amp_library.ui.dialog.UpgradeDialog import com.simplecity.amp_library.ui.fragments.BaseFragment import com.simplecity.amp_library.utils.ArtworkDialog import io.reactivex.Single @@ -52,10 +51,6 @@ class AlbumArtistMenuCallbacksAdapter(val fragment: BaseFragment, val disposable ArtworkDialog.build(fragment.context, albumArtist).show() } - override fun showUpgradeDialog() { - UpgradeDialog.getUpgradeDialog(fragment.activity!!).show() - } - override fun showToast(message: String) { Toast.makeText(fragment.context, message, Toast.LENGTH_LONG).show() } diff --git a/app/src/main/java/com/simplecity/amp_library/utils/menu/albumartist/AlbumArtistMenuUtils.kt b/app/src/main/java/com/simplecity/amp_library/utils/menu/albumartist/AlbumArtistMenuUtils.kt index f0d4b53f5..eaddb736b 100644 --- a/app/src/main/java/com/simplecity/amp_library/utils/menu/albumartist/AlbumArtistMenuUtils.kt +++ b/app/src/main/java/com/simplecity/amp_library/utils/menu/albumartist/AlbumArtistMenuUtils.kt @@ -11,7 +11,6 @@ import com.simplecity.amp_library.playback.MediaManager import com.simplecity.amp_library.playback.MediaManager.Defs import com.simplecity.amp_library.utils.Operators import com.simplecity.amp_library.utils.PlaylistUtils -import com.simplecity.amp_library.utils.ShuttleUtils import com.simplecity.amp_library.utils.extensions.getSongs import com.simplecity.amp_library.utils.menu.MenuUtils import io.reactivex.Single @@ -39,8 +38,6 @@ object AlbumArtistMenuUtils { fun showArtworkChooser(albumArtist: AlbumArtist) - fun showUpgradeDialog() - fun showToast(message: String) } @@ -106,11 +103,7 @@ object AlbumArtistMenuUtils { return@OnMenuItemClickListener true } R.id.editTags -> { - if (ShuttleUtils.isUpgraded()) { - callbacks.showTagEditor(albumArtist) - } else { - callbacks.showUpgradeDialog() - } + callbacks.showTagEditor(albumArtist) return@OnMenuItemClickListener true } R.id.info -> { diff --git a/app/src/main/res/layout/dialog_incl_excl.xml b/app/src/main/res/layout/dialog_incl_excl.xml index 4e9515f9e..7251ac0d7 100644 --- a/app/src/main/res/layout/dialog_incl_excl.xml +++ b/app/src/main/res/layout/dialog_incl_excl.xml @@ -20,6 +20,6 @@ android:minHeight="64dp" android:textSize="16sp" android:visibility="gone" - tools:text="@string/blacklist_empty"/> + tools:text="@string/excludes_empty"/> \ No newline at end of file diff --git a/app/src/main/res/menu/menu_album.xml b/app/src/main/res/menu/menu_album.xml index 11129ef76..6cc172f43 100644 --- a/app/src/main/res/menu/menu_album.xml +++ b/app/src/main/res/menu/menu_album.xml @@ -39,7 +39,7 @@ + android:title="@string/excludes_title" /> + android:title="@string/excludes_title" /> + android:title="@string/includes_title"/> + android:title="@string/excludes_title"/> + android:title="@string/includes_title"/> + android:title="@string/excludes_title"/> + android:title="@string/excludes_title"/> Плейлистът е запазен в %s - Черният списък е изтрит + Черният списък е изтрит - Белият списък е изтрит + Белият списък е изтрит Грешка при изтриването на папката.\n\nПапката може да разполага със защита от запис. @@ -53,8 +53,8 @@ Една песен добавена към опашката за слушане - "\""%d - songs added to queue. + "\""%d + songs added to queue. " @@ -83,11 +83,11 @@ Надстройте до Shuttle+ - Ако харесвате музикалния плеър Shuttle, моля обмислете надстройването до Shuttle+. - \n\nДопълнителни функции: - \nМножество допълнителни теми - \nРедактиране на атрибути - \nРазглеждане на папки + Ако харесвате музикалния плеър Shuttle, моля обмислете надстройването до Shuttle+. + \n\nДопълнителни функции: + \nМножество допълнителни теми + \nРедактиране на атрибути + \nРазглеждане на папки \nПоддръжка на ChromeCast \n\nОсвен това подпомагате и създателя на приложението. Благодаря Ви @@ -242,15 +242,15 @@ Светла тема Черно - Черен/бял списък + Черен/бял списък - Преглед/Редакция на черния списък + Преглед/Редакция на черния списък - Изчисти черния списък + Изчисти черния списък - Преглед/Редакция на белия списък + Преглед/Редакция на белия списък - Изчисти белия списък + Изчисти белия списък Подрежи обложката на албума @@ -300,12 +300,12 @@ Използване на \"Gmail\" стил на иконите - Използване на стила \"Gmail\" по подразбиране + Използване на стила \"Gmail\" по подразбиране Ако опцията не е активна, иконата на Shuttle ще се показва като placeholder Активирай контроли когато екранът е заключен - "Активира/Деактивира контроли, информация и обложки на албуми, когато екранът е заключен. (ICS +) + "Активира/Деактивира контроли, информация и обложки на албуми, когато екранът е заключен. (ICS +) " Дисплей @@ -326,7 +326,7 @@ Паузиране при изключване на слушалки - "Спира възпроизвеждането, когато слушалките са изключени + "Спира възпроизвеждането, когато слушалките са изключени " Слушалки @@ -343,12 +343,12 @@ Активирай Scrobbling - "Активирай scrobbling чрез Simple Last.fm Scrobbler + "Активирай scrobbling чрез Simple Last.fm Scrobbler " Изтегли - "Изтегляне на Simple Last.FM Scrobbler от Google Play Store + "Изтегляне на Simple Last.FM Scrobbler от Google Play Store " @@ -384,13 +384,13 @@ Размер на мрежата - Бял списък + Бял списък - Черен списък + Черен списък - Можете да добавяте песни към черния списък чрез бутона за опции (3 вертикални точки) към съответната песен, избирайки опцията \"Добави към черния списък\". + Можете да добавяте песни към черния списък чрез бутона за опции (3 вертикални точки) към съответната песен, избирайки опцията \"Добави към черния списък\". - Можете да добавяте песни към белия списък чрез бутона за настройки във мениджъра на папките, използвайки \"ограничаване на музикалната библиотека\", след което избирайки папките, които желаете да включите във белия списък. + Можете да добавяте песни към белия списък чрез бутона за настройки във мениджъра на папките, използвайки \"ограничаване на музикалната библиотека\", след което избирайки папките, които желаете да включите във белия списък. Информация @@ -580,7 +580,7 @@ Изпълни при… - Запази белия списък + Запази белия списък Показва информация за песента @@ -631,8 +631,8 @@ Ако сте надстроили Shuttle, но все още се показва като безплатната версия, докоснете тук. Възстанови покупките - Няма песни в черния списък! - Няма папки в белия списък! + Няма песни в черния списък! + Няма папки в белия списък! Инфо за песента Местополож. Размер на файла diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml index 82bfd7d56..c64a08851 100644 --- a/app/src/main/res/values-ca/strings.xml +++ b/app/src/main/res/values-ca/strings.xml @@ -9,9 +9,9 @@ La llista de reproducció s\'ha guardat a %s - "Llista negra eliminada " + "Llista negra eliminada " - Llista permitida eliminada + Llista permitida eliminada Error en eliminar la carpeta. \n\nAquesta carpeta podria estar protegida contra escriptura. @@ -232,15 +232,15 @@ cançons afegides a la cua. Clar Negre - Llista negra/permesa + Llista negra/permesa - Veure/Editar llista negra + Veure/Editar llista negra - Netejar + Netejar - Veure/Editar llista permesa + Veure/Editar llista permesa - Netejar + Netejar Retallar caràtula @@ -364,13 +364,13 @@ Si està desmarcat, s\'emprarà l\'icona de Shuttle. Targetes - Llista permesa + Llista permesa - Llista negra + Llista negra - Pots afegir cançons a la llista negra prement els 3 punts verticals en una determinada cançó i seleccionant \"llista negra\". + Pots afegir cançons a la llista negra prement els 3 punts verticals en una determinada cançó i seleccionant \"llista negra\". - Pots afegir cançons a la llista permesa prement el botó de configuració en l\'explorador de carpetes, seleccionant \"restringir llibreria musical\" i després escollint les carpetes que vols incluir a la llista permesa. + Pots afegir cançons a la llista permesa prement el botó de configuració en l\'explorador de carpetes, seleccionant \"restringir llibreria musical\" i després escollint les carpetes que vols incluir a la llista permesa. Biografia @@ -556,7 +556,7 @@ carpeta Reproduir a… - Guardar a la llista permesa + Guardar a la llista permesa Mostra informació de la cançó @@ -594,8 +594,8 @@ carpeta Si ja has comprat Shuttle+ però encara es mostra la versió gratuïta, clica aquí. Restaurar compres - No has afegit cap cançó a la llista negra! - No has afegit cap carpeta a la llista permesa! + No has afegit cap cançó a la llista negra! + No has afegit cap carpeta a la llista permesa! Informació de la cançó Ruta Mida de l\'arxiu diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index c8365ae8f..589ec8f16 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -9,9 +9,9 @@ Playlist gespeichert unter %s - Blacklist gelöscht + Blacklist gelöscht - Whitelist gelöscht + Whitelist gelöscht Fehler beim Löschen des Ordners.\n\nDer Ordner ist möglicherweise schreibgeschützt. @@ -53,7 +53,7 @@ 1 Titel in die Warteschlange aufgenommen. - "\""%d\" Titel in die Warteschlange aufgenommen.\" + "\""%d\" Titel in die Warteschlange aufgenommen.\" " @@ -262,15 +262,15 @@ Shuttle wird die markanteste Farbe im Cover als Hauptfarbe in der App verwenden. Nur auf \'Aktuell Gespielt\'-Bildschirm - White-/Blacklist + White-/Blacklist - Zeige/Bearbeite Blacklist + Zeige/Bearbeite Blacklist - Leeren + Leeren - Zeige/Bearbeite Whitelist + Zeige/Bearbeite Whitelist - Leeren + Leeren Albencover zuschneiden @@ -298,14 +298,14 @@ Bilder herunterladen - "Fehlende Künstler und Alben-Bilder herunterladen + "Fehlende Künstler und Alben-Bilder herunterladen " Shuttle wird alle Bilder unabhängig von deiner Datenverbindung herunterladen. Mobilfunkdaten könnten Kosten verursachen Bilder löschen - "Künstler und Alben-Bilder vom Gerät loschen + "Künstler und Alben-Bilder vom Gerät loschen " "Änderungen der Quelle der Bilder wird keinen Effekt auf Bilder haben, die bereits heruntergeladen wurden. Möchtest du deine Bilder löschen? " @@ -314,7 +314,7 @@ Bilder automatisch herunterladen - "Fehlende Künstler und Alben-Bilder automatisch herunterladen + "Fehlende Künstler und Alben-Bilder automatisch herunterladen " Nur mit WLAN herunterladen @@ -348,7 +348,7 @@ Wiedergabe beim Entfernen pausieren - "Unterbricht die Wiedergabe, wenn der Kopfhörer entfernt wird + "Unterbricht die Wiedergabe, wenn der Kopfhörer entfernt wird " Kopfhörer @@ -365,12 +365,12 @@ Scrobbeln aktivieren - "Scrobbeln via Simple Last.fm Scrobbler aktivieren + "Scrobbeln via Simple Last.fm Scrobbler aktivieren " Herunterladen - "Simple Last.FM Scrobbler aus dem Play Store herunterladen + "Simple Last.FM Scrobbler aus dem Play Store herunterladen " Changelog @@ -414,13 +414,13 @@ Gittergröße - Whitelist + Whitelist - Blacklist + Blacklist - Titel zur Blacklist hinzufügen: Tippe auf die 3 Punkte neben dem Songtitel und wähle: \"Zur Blacklist hinzufügen\". + Titel zur Blacklist hinzufügen: Tippe auf die 3 Punkte neben dem Songtitel und wähle: \"Zur Blacklist hinzufügen\". - Titel können zur Whitelist hinzugefügt werden, indem du den Einstellungs-Button im Dateibrowser anklickst, dort auf \"Whitelist\" klickst und dann die gewünschten Ordner zum Hinzufügen zur Whitelist auswählst. + Titel können zur Whitelist hinzugefügt werden, indem du den Einstellungs-Button im Dateibrowser anklickst, dort auf \"Whitelist\" klickst und dann die gewünschten Ordner zum Hinzufügen zur Whitelist auswählst. Biografie @@ -626,7 +626,7 @@ Ordner Wiedergabe von… - Whitelist speichern + Whitelist speichern Zeigt Titelinformationen @@ -680,8 +680,8 @@ Ordner Klicke hier, wenn Shuttle trotz Upgrade noch als Gratis-Version angezeigt wird. Käufe wiederherstellen - Du hast keine Titel in deiner Blacklist! - Du hast keine Ordner in deiner Whitelist! + Du hast keine Titel in deiner Blacklist! + Du hast keine Ordner in deiner Whitelist! Titel-Info Pfad Dateigröße diff --git a/app/src/main/res/values-en-rAU/strings.xml b/app/src/main/res/values-en-rAU/strings.xml index 875658cf2..b96c474ef 100644 --- a/app/src/main/res/values-en-rAU/strings.xml +++ b/app/src/main/res/values-en-rAU/strings.xml @@ -7,9 +7,9 @@ Couldn\'t save playlist - Blacklist deleted + Blacklist deleted - Whitelist deleted + Whitelist deleted diff --git a/app/src/main/res/values-es-rES/strings.xml b/app/src/main/res/values-es-rES/strings.xml index 813b119f8..5f10a37a6 100644 --- a/app/src/main/res/values-es-rES/strings.xml +++ b/app/src/main/res/values-es-rES/strings.xml @@ -9,9 +9,9 @@ Lista guardada en %s - Lista negra eliminada + Lista negra eliminada - Lista blanca eliminada + Lista blanca eliminada Error al borrar la carpeta.\n\nPuede que la carpeta esté protegida contra escritura. @@ -247,15 +247,15 @@ Si habilitado, Shuttle detectará el color mas prominente en el material gráfico y lo usará como el color primario de la aplicación. Solo en la pantalla \'Reproduciendo\' - Lista blanca/negra + Lista blanca/negra - Ver/Editar lista negra + Ver/Editar lista negra - Limpiar + Limpiar - Ver/Editar lista blanca + Ver/Editar lista blanca - Eliminar + Eliminar Recortar carátula @@ -301,7 +301,7 @@ Descargar sólo con Wi-Fi - "Las imágenes de artistas y álbumes sólo se descargarán si estás conectado mediante Wi-Fi + "Las imágenes de artistas y álbumes sólo se descargarán si estás conectado mediante Wi-Fi " Usar estilos de Gmail @@ -348,7 +348,7 @@ Si no está seleccionado, se usará el icono de Shuttle en su lugar Activar Scrobbling - "Activar scrobbling vía Simple Last.fm Scrobbler + "Activar scrobbling vía Simple Last.fm Scrobbler " Descargar @@ -394,13 +394,13 @@ Si no está seleccionado, se usará el icono de Shuttle en su lugar Tamaño de cuadricula - Lista blanca + Lista blanca - Lista negra + Lista negra - Las canciones pueden ser agregadas a la lista negra presionando el botón de menú (3 puntos verticales) en una canción y eligiendo \"Lista negra\". + Las canciones pueden ser agregadas a la lista negra presionando el botón de menú (3 puntos verticales) en una canción y eligiendo \"Lista negra\". - Las canciones se pueden agregar a la lista blanca presionando el botón de opciones del navegador de carpetas, seleccionando \'lista blanca\', y entonces eligiendo las carpetas que deseas incluir en esa lista blanca. + Las canciones se pueden agregar a la lista blanca presionando el botón de opciones del navegador de carpetas, seleccionando \'lista blanca\', y entonces eligiendo las carpetas que deseas incluir en esa lista blanca. Biografía @@ -603,7 +603,7 @@ carpetas Reproducir en … - Guardar lista blanca + Guardar lista blanca Mostrar información de la canción @@ -657,8 +657,8 @@ carpetas Si ya ha actualizado Shuttle, pero sigue apareciendo como la versión gratuita, use esta opción. Restablecer compras - ¡No ha restringido ninguna canción! - ¡No ha permitido ninguna carpeta! + ¡No ha restringido ninguna canción! + ¡No ha permitido ninguna carpeta! Propiedades Ubicación Tamaño diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index ed135f0f9..42291f4a8 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -9,10 +9,10 @@ Lista de reproducción guardada en %s - "Lista negra borrada + "Lista negra borrada " - Lista blanca borrada + Lista blanca borrada Error al borrar carpeta.\n\nEsta carpeta podría estar protegida contra escritura. @@ -252,15 +252,15 @@ Si se activa, Shuttle detectará el color más prominente en el álbum y usará este color como el \"color primario\" en la aplicación Sólo en la pantalla de \"Escuchando ahora\" - Lista Negra/Lista Blanca + Lista Negra/Lista Blanca - Ver/editar lista negra + Ver/editar lista negra - Limpiar + Limpiar - Ver/editar lista blanca + Ver/editar lista blanca - Limpiar + Limpiar Recortar Carátula @@ -399,13 +399,13 @@ Cuadrícula - Lista Blanca + Lista Blanca - Lista Negra + Lista Negra - Pueden añadirse canciones a la Lista Negra presionando el menú (3 puntos verticales) desde cada canción y seleccionando \'Lista Negra\' + Pueden añadirse canciones a la Lista Negra presionando el menú (3 puntos verticales) desde cada canción y seleccionando \'Lista Negra\' - Las canciones se pueden agregar a la lista blanca pulsando el botón de configuración desde el explorador de carpetas, seleccionando \"Lista blanca\" y seleccionando las carpetas que desea incluir en la Lista blanca. + Las canciones se pueden agregar a la lista blanca pulsando el botón de configuración desde el explorador de carpetas, seleccionando \"Lista blanca\" y seleccionando las carpetas que desea incluir en la Lista blanca. Biografía @@ -612,7 +612,7 @@ Reproducir en… - Guardar Lista Blanca + Guardar Lista Blanca Muestra información de la canción @@ -666,8 +666,8 @@ Si ya ha realizado la actualización de Shuttle, pero sigue apareciendo como la versión gratuita, pulse aquí. Restaurar compras - ¡No tienes canciones en la lista negra! ¡Hurra! - ¡No tienes carpetas en la lista blanca! + ¡No tienes canciones en la lista negra! ¡Hurra! + ¡No tienes carpetas en la lista blanca! Info de la canción Ruta Tamaño del archivo diff --git a/app/src/main/res/values-et-rEE/strings.xml b/app/src/main/res/values-et-rEE/strings.xml index c06a93890..a37cbd2ac 100644 --- a/app/src/main/res/values-et-rEE/strings.xml +++ b/app/src/main/res/values-et-rEE/strings.xml @@ -9,9 +9,9 @@ Playlist salvestati %s - Must nimekiri kustutatud + Must nimekiri kustutatud - Valge nimekiri kustutatud + Valge nimekiri kustutatud Viga kausta kustutamisel.\n\nSee kaust võib olla kirjutuskaitstud. @@ -261,15 +261,15 @@ Kui see valik on sisse lülitatud, siis valib Shuttle kaanepildilt kõige silmapaistvama värvi ning kasutab seda peamise värvina kogu rakenduses. Ainult ekraanil \'praegu mängib\' - Must/valge nimekiri + Must/valge nimekiri - Vaata/Muuda musta nimekirja + Vaata/Muuda musta nimekirja - Tühjenda + Tühjenda - Vaata/Muuda valget nimekirja + Vaata/Muuda valget nimekirja - Tühenda + Tühenda Lõika kaanepilti @@ -407,13 +407,13 @@ Kui see on välja lülitatud, siis kasutatakse Shuttle ikooni kohatäitena. Ruudustiku suurus - Valge nimekiri + Valge nimekiri - Must nimekiri + Must nimekiri - Laulusid saab lisada musta nimekirja vajutades seadete märki (kolm täppi) kindla laulu peal ja valides \"must nimekiri\" + Laulusid saab lisada musta nimekirja vajutades seadete märki (kolm täppi) kindla laulu peal ja valides \"must nimekiri\" - Laule saab lisada valgesse nimekirja vajutades seadete nuppu kaustasirvijas ning valides \"piira muusikakogu\" ning siis valides kaustad, mida kaasata valgesse nimekirja. + Laule saab lisada valgesse nimekirja vajutades seadete nuppu kaustasirvijas ning valides \"piira muusikakogu\" ning siis valides kaustad, mida kaasata valgesse nimekirja. Info @@ -620,7 +620,7 @@ Kui see on välja lülitatud, siis kasutatakse Shuttle ikooni kohatäitena. Mängi… peal - Salvesta valge nimekiri + Salvesta valge nimekiri Kuvab loo teavet @@ -674,8 +674,8 @@ Kui see on välja lülitatud, siis kasutatakse Shuttle ikooni kohatäitena. Kui sa oled ostnud Shuttle tasulise versiooni, aga ikka näidatakse tasuta versiooni, siis vajuta siia. Taasta ostud - Sa pole ühtegi lugu musta nimekirja kandnud! - Sa pole ühtegi kausta valgesse nimekirja kandnud! + Sa pole ühtegi lugu musta nimekirja kandnud! + Sa pole ühtegi kausta valgesse nimekirja kandnud! Loo info Asukoht Failisuurus diff --git a/app/src/main/res/values-eu-rES/strings.xml b/app/src/main/res/values-eu-rES/strings.xml index a0d8f3dfa..a899ff461 100644 --- a/app/src/main/res/values-eu-rES/strings.xml +++ b/app/src/main/res/values-eu-rES/strings.xml @@ -9,9 +9,9 @@ Zerrenda %s-n gordeta - Zerrenda beltza ezabatua + Zerrenda beltza ezabatua - Zerrenda zuria ezabatua + Zerrenda zuria ezabatua Errorea karpeta ezabatzen.\n\nKarpeta idazketaren kontra babestua egon daiteke. @@ -258,15 +258,15 @@ abesti ilarara gehituak. Aukeratzen bada, Shuttle-ek karatularen kolorea hartuko du, eta interfazearen kolorea aldatuko du karatulara egokitzeko app osoan \'Orain Erreproduzitzen\' pantailan bakarrik - Zerrenda zuria/beltza + Zerrenda zuria/beltza - Zerrenda beltza ikusi/editatu + Zerrenda beltza ikusi/editatu - Ezabatu + Ezabatu - Zerrenda zuria ikusi/editatu + Zerrenda zuria ikusi/editatu - Ezabatu + Ezabatu Karatula ebaki @@ -399,13 +399,13 @@ Desaktibatzen bada, Shuttle-en ikonoa erabiliko da bere ordez Kuadrikula tamaina - Zerrenda zuria + Zerrenda zuria - Zerrenda beltza + Zerrenda beltza - Abestiak zerrenda beltzera gehitu daitezke overflow botoia (3 puntu bertikalak) aukeratuz abesti batean, eta \'zerrenda beltza\' aukeratuz. + Abestiak zerrenda beltzera gehitu daitezke overflow botoia (3 puntu bertikalak) aukeratuz abesti batean, eta \'zerrenda beltza\' aukeratuz. - Abestiak zerrenda zurira gehitu daitezke karpeta ikuskatzaileko aukeren botoia sakatzen, \'zerrenda zuria\' aukeratzen, eta orduan zerrenda zurian nahi dituzun karpetak aukeratzen. + Abestiak zerrenda zurira gehitu daitezke karpeta ikuskatzaileko aukeren botoia sakatzen, \'zerrenda zuria\' aukeratzen, eta orduan zerrenda zurian nahi dituzun karpetak aukeratzen. Biografia @@ -608,7 +608,7 @@ karpeta …-n erreproduzitu - Zerrenda zuria gorde + Zerrenda zuria gorde Abestiaren informazioa erakusten du @@ -662,8 +662,8 @@ karpeta Shuttle+ erosi baduzu, baina oraindik doaineko bertsioa agertzen bazaizu, botoi honi eman iezaiozu. Erosketak berreskuratu - Ez duzu abestirik zerrenda beltzean sartu! - Ez duzu karpetarik zerrenda zurian sartu! + Ez duzu abestirik zerrenda beltzean sartu! + Ez duzu karpetarik zerrenda zurian sartu! Abestiaren info. Bidea Fitxategi tamaina diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index f4d2e44f8..108beaa2c 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -9,9 +9,9 @@ Playlist enregistrée dans %s - Liste noire supprimée + Liste noire supprimée - Liste blanche supprimée + Liste blanche supprimée Erreur lors de la suppression du dossier.\n\nLe dossier est peut-être protégé en écriture. @@ -260,15 +260,15 @@ Si activé, Shuttle va utiliser la couleur dominante de la jaquette comme couleur primaire dans l\'application. Seulement sur l\'écran \'Lecture en cours\' - Liste blanche/noire + Liste blanche/noire - Voir/Éditer la liste noire + Voir/Éditer la liste noire - Effacer la liste noire + Effacer la liste noire - Voir/Éditer la liste blanche + Voir/Éditer la liste blanche - Effacer la liste blanche + Effacer la liste blanche Recadrer les images d\'album @@ -318,7 +318,7 @@ Espaces réservés style Gmail - Utilise des espaces réservés de style Gmail. + Utilise des espaces réservés de style Gmail. Si décoché, l\'icône de Shuttle sera affichée dans les espaces réservés. Afficher les boutons sur l\'écran de verrouillage @@ -409,13 +409,13 @@ Taille de la grille - Liste blanche + Liste blanche - Liste noire + Liste noire - Les titres peuvent être ajoutés à la liste noire en appuyant sur le bouton de menu contextuel (3 points verticaux) de l\'élément, puis sur \"liste noire\". + Les titres peuvent être ajoutés à la liste noire en appuyant sur le bouton de menu contextuel (3 points verticaux) de l\'élément, puis sur \"liste noire\". - Les titres peuvent être ajoutés à la liste blanche en appuyant sur \"liste blanche\" dans le menu du navigateur par dossiers, puis en sélectionnant les dossiers à inclure à la liste blanche. + Les titres peuvent être ajoutés à la liste blanche en appuyant sur \"liste blanche\" dans le menu du navigateur par dossiers, puis en sélectionnant les dossiers à inclure à la liste blanche. Infos @@ -622,7 +622,7 @@ Lire sur… - Enregistrer la liste blanche + Enregistrer la liste blanche Afficher les infos sur le titre @@ -676,8 +676,8 @@ Si vous avez déjà upgradé Shuttle, mais que la version gratuite s\'affiche toujours, appuyez ici. Restaurer les achats - Vous n\'avez mis aucune chanson sur la liste noire! - Vous n\'avez mis aucune chanson sur la liste blanche! + Vous n\'avez mis aucune chanson sur la liste noire! + Vous n\'avez mis aucune chanson sur la liste blanche! Infos de la chanson Chemin Taille du fichier diff --git a/app/src/main/res/values-hi-rIN/strings.xml b/app/src/main/res/values-hi-rIN/strings.xml index 58cd268af..a9ad8db00 100644 --- a/app/src/main/res/values-hi-rIN/strings.xml +++ b/app/src/main/res/values-hi-rIN/strings.xml @@ -9,9 +9,9 @@ प्लेलिस्ट सेव की जा चुकी है - ब्लैकलिस्ट हटाई गई + ब्लैकलिस्ट हटाई गई - व्हाइलिस्ट हटाई गई + व्हाइलिस्ट हटाई गई फ़ोल्डर डिलीट नहीं हुआ है।\n\nयह फ़ोल्डर राइट प्रोटेक्टेड हो सकता है। @@ -266,15 +266,15 @@ यदि सक्षम हो, तो Shuttle आपकी कलाकृति में सबसे प्रमुख रंग का पता लगाएगा, और इसे पूरे एप्लिकेशन में \'प्राथमिक रंग\' के रूप में प्रयोग करेगा केवल \'अभी प्लेयिंग\' स्क्रीन पर - व्हाइट/ब्लैकलिस्ट + व्हाइट/ब्लैकलिस्ट - देखें/सुधारें ब्लैकलिस्ट + देखें/सुधारें ब्लैकलिस्ट - क्लियर + क्लियर - श्वेतसूची देखें/एडिट करें + श्वेतसूची देखें/एडिट करें - क्लियर + क्लियर क्रॉप एल्बम आर्ट @@ -409,13 +409,13 @@ ग्रिड साइज - व्हाइटलिस्ट + व्हाइटलिस्ट - ब्लैकलिस्ट + ब्लैकलिस्ट - एक विशेष गीत से अतिप्रवाह (3 ऊर्ध्वाधर बिंदु) दबाकर और \'ब्लैकलिस्ट\' का चयन करके गीत को ब्लैकलिस्ट में जोड़ा जा सकता है। + एक विशेष गीत से अतिप्रवाह (3 ऊर्ध्वाधर बिंदु) दबाकर और \'ब्लैकलिस्ट\' का चयन करके गीत को ब्लैकलिस्ट में जोड़ा जा सकता है। - फ़ोल्डर-ब्राउज़र से सेटिंग्स बटन दबाकर व्हाइटलिस्ट में गीत जोड़ा जा सकता है, \'व्हाइटलिस्ट\' का चयन करने के बाद, फिर वे व्हाइटलिस्ट में शामिल करने वाले फ़ोल्डर चुनना। + फ़ोल्डर-ब्राउज़र से सेटिंग्स बटन दबाकर व्हाइटलिस्ट में गीत जोड़ा जा सकता है, \'व्हाइटलिस्ट\' का चयन करने के बाद, फिर वे व्हाइटलिस्ट में शामिल करने वाले फ़ोल्डर चुनना। बायोग्राफी @@ -610,7 +610,7 @@ कमेंट - व्हाइटलिस्ट को सेव करें + व्हाइटलिस्ट को सेव करें गानों की जानकारी प्रदर्शित करता है diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml index 9e1f243c0..42ade4da7 100644 --- a/app/src/main/res/values-hr/strings.xml +++ b/app/src/main/res/values-hr/strings.xml @@ -9,9 +9,9 @@ Popis naslova je spremljen u %s - Crna lista je izbrisana + Crna lista je izbrisana - Bijela lista je izbrisana + Bijela lista je izbrisana Pogreška pri brisanju mape.\n\nOva mapa je možda zaštićena. @@ -260,15 +260,15 @@ Ako je omogućeno, Shuttle će prepoznati najbolju boju iz vašeg omota, te će ju koristiti kao primarnu boju aplikacije Samo na zaslonu reprodukcije - Bijela/Crna lista + Bijela/Crna lista - Prikaži/uredi crnu listu + Prikaži/uredi crnu listu - Očisti + Očisti - Prikaži/uredi bijelu listu + Prikaži/uredi bijelu listu - Očisti + Očisti Obreži omot albuma @@ -407,13 +407,13 @@ Ako nije označeno, Shuttle ikona će se koristiti kao sličica Veličina rešetke - Bijela lista + Bijela lista - Crna lista + Crna lista - Pjesme mogu biti dodane na crnu listu pritiskom na overflow (3 vertikalne točkice) iz neke pjesme, te odabirom \'crna lista\'. + Pjesme mogu biti dodane na crnu listu pritiskom na overflow (3 vertikalne točkice) iz neke pjesme, te odabirom \'crna lista\'. - Pjesme mogu biti dodane na whitelist pritiskom na gumb postavki u pregledniku mapa, odabirom \'whitelist\', pa odabirom mape koju želite uključiti u whitelist. + Pjesme mogu biti dodane na whitelist pritiskom na gumb postavki u pregledniku mapa, odabirom \'whitelist\', pa odabirom mape koju želite uključiti u whitelist. Biografija @@ -622,7 +622,7 @@ mapa Reproduciraj na… - Spremi bijelu listu + Spremi bijelu listu Prikazuje informacije o pjesmi @@ -676,8 +676,8 @@ mapa Ako ste nadogradili Shuttle+, ali se svejedno prikazuje kao besplatna verzija, pritisnite ovo. Vrati kupovine - Niste dodali još nijednu pjesmu na crnu listu! - Niste dodali nijednu mapu na bijelu listu! + Niste dodali još nijednu pjesmu na crnu listu! + Niste dodali nijednu mapu na bijelu listu! Informacije o pjesmi Put Veličina datoteke diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index bcfb7a93e..b103f3c01 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -9,9 +9,9 @@ Lejátszási lista elmentve%s néven. . - Feketelista törölve + Feketelista törölve - Kivételek törölve + Kivételek törölve Hiba a mappa törlésekor. Lehet, hogy írásvédett. @@ -91,11 +91,11 @@ Köszönjük Sikeresen megvásárolta a Shuttle+. Köszönjük támogatását. \n\nIndítsa újra az alkalmazást, hogy engedélyezzen minden funkciót - A vásárlással a következő funkciók válnak elérhetővé: - \n\nRengeteg extra téma - \nCímkék szerkesztése (Andoid 4.4 KitKat változatában ez a funkció limitált) - \nMappák böngészése - \nChromeCast támogatás + A vásárlással a következő funkciók válnak elérhetővé: + \n\nRengeteg extra téma + \nCímkék szerkesztése (Andoid 4.4 KitKat változatában ez a funkció limitált) + \nMappák böngészése + \nChromeCast támogatás \n\n Továbbá segít a jövőbeni fejlesztésekben. \n\nNem szükséges frissítenie ha már rendelkezik a Shuttle+-szal Vásárlás @@ -244,15 +244,15 @@ Világos Fekete - Kivételek/Feketelista + Kivételek/Feketelista - Feketelista megtekintése/szerkesztése + Feketelista megtekintése/szerkesztése - Törlés + Törlés - Kivételek megtekintése/szerkesztése + Kivételek megtekintése/szerkesztése - Törlés + Törlés Albumborító képének vágása @@ -325,7 +325,7 @@ Eltávolításkor szünet - "Szünetelteti a lejátszást, ha a fülhallgatót kihúzza + "Szünetelteti a lejátszást, ha a fülhallgatót kihúzza " Fejhallgató @@ -342,13 +342,13 @@ Scrobbling engedélyezése - "Scrobbling engedélyezése az egyszerű LastFM Scrobbler -segítségével + "Scrobbling engedélyezése az egyszerű LastFM Scrobbler +segítségével " Letöltés - "Egyszerű LastFM Scrobbler letöltése a Google Play Store-ból + "Egyszerű LastFM Scrobbler letöltése a Google Play Store-ból " @@ -382,13 +382,13 @@ segítségével Rács mérete - Kivételek + Kivételek - Feketelista + Feketelista - Egy dalt úgy adhat a feketelistához, hogy a kiválasztott dalnál rányom a 3 pontot ábrázoló ikonra, és kiválasztja a feketelista opciót + Egy dalt úgy adhat a feketelistához, hogy a kiválasztott dalnál rányom a 3 pontot ábrázoló ikonra, és kiválasztja a feketelista opciót - Egy dalt úgy adhat a kivételekhez, hogy a kiválasztott dalnál rányom a 3 pontot ábrázoló ikonra, és kiválasztja a kivételek opciót + Egy dalt úgy adhat a kivételekhez, hogy a kiválasztott dalnál rányom a 3 pontot ábrázoló ikonra, és kiválasztja a kivételek opciót Életrajz @@ -586,7 +586,7 @@ segítségével Lejátszás a(z)… - Kivételek mentése + Kivételek mentése Dal információk @@ -637,8 +637,8 @@ segítségével Ha már megvásárolta a Shuttle-t de még mindig az ingyenes változatként működik, koppintson ide Vásárlások visszaállítása - Nem tett feketelistára egy dalt sem! - Még nem tett a kivételek közé egy mappát sem. + Nem tett feketelistára egy dalt sem! + Még nem tett a kivételek közé egy mappát sem. Információ Útvonal Fájl méret diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index daaee901b..b535d3e77 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -9,9 +9,9 @@ Playlist salvata in %s - Lista nera eliminata + Lista nera eliminata - Lista bianca eliminata + Lista bianca eliminata Impossibile eliminare la cartella.\n\nLa cartella potrebbe essere protetta da scrittura. @@ -268,15 +268,15 @@ Se abilitata, Shuttle determinerà il colore dominante della copertina e lo utilizzerà come \"colore principale\" all\'interno dell\'app. Solo nella schermata \"In riproduzione\" - Lista bianca/nera + Lista bianca/nera - Visualizza/Modifica la lista nera + Visualizza/Modifica la lista nera - Svuota + Svuota - Visualizza/Modifica la lista bianca + Visualizza/Modifica la lista bianca - Svuota + Svuota Ritaglia copertine @@ -304,14 +304,14 @@ Scarica illustrazioni - "Scarica le immagini degli artisti e delle copertine degli album mancanti + "Scarica le immagini degli artisti e delle copertine degli album mancanti " Shuttle scaricherà tutte le illustrazioni a prescindere dal tipo di connessione. Potrebbe comportare costi per il traffico dati. Elimina illustrazioni - "Elimina le immagini degli artisti e delle copertine degli album dal dispositivo + "Elimina le immagini degli artisti e delle copertine degli album dal dispositivo " Cambiare la fonte delle copertine non avrà effetto sulle copertine già scaricate. Vuoi rimuovere le tue copertine? @@ -320,12 +320,12 @@ Scarica automaticamente - "Scarica le immagini degli artisti e delle copertine degli album automaticamente + "Scarica le immagini degli artisti e delle copertine degli album automaticamente " Scarica solo tramite Wi-Fi - "Le immagini degli artisti e delle copertine degli album verranno scaricate solo se si sta utilizzando una connessione Wi-Fi + "Le immagini degli artisti e delle copertine degli album verranno scaricate solo se si sta utilizzando una connessione Wi-Fi " Usa etichette Gmail @@ -374,7 +374,7 @@ Scarica - "Scarica Simple Last.FM Scrobbler dal Google Play Store + "Scarica Simple Last.FM Scrobbler dal Google Play Store " Note di rilascio @@ -418,13 +418,13 @@ Dimensioni griglia - Lista bianca + Lista bianca - Lista nera + Lista nera - Per aggiungere un brano alla lista nera premere i tre pulsanti verticali del brano di interesse e selezionare \'Lista nera\'. + Per aggiungere un brano alla lista nera premere i tre pulsanti verticali del brano di interesse e selezionare \'Lista nera\'. - Per aggiungere dei brani alla lista bianca premere il pulsante delle impostazioni nella modalità di navigazione a cartelle, selezionare \'Lista bianca\' e infine scegliere le cartelle da aggiungere alla lista bianca. + Per aggiungere dei brani alla lista bianca premere il pulsante delle impostazioni nella modalità di navigazione a cartelle, selezionare \'Lista bianca\' e infine scegliere le cartelle da aggiungere alla lista bianca. Biografia @@ -629,7 +629,7 @@ Riprodotta da… - Salva lista bianca + Salva lista bianca Visualizza informazioni sui brani @@ -683,8 +683,8 @@ Se hai già aggiornato Shuttle, ma continua a visualizzare che è la versione free, premi questo. Ripristina acquisti - Non hai nessun brano nella lista nera! - Non hai nessuna cartella nella lista bianca! + Non hai nessun brano nella lista nera! + Non hai nessuna cartella nella lista bianca! Info Brano Percorso Dimensione file diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index e46efa7f5..d75ad972f 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -9,9 +9,9 @@ プレイリストを %s に保存 - ブラックリストを削除しました + ブラックリストを削除しました - ホワイトリストを削除しました + ホワイトリストを削除しました フォルダの削除中にエラーが発生しました。\n\nこのフォルダは書き込みが制限されている可能性があります。 @@ -256,15 +256,15 @@ アートワークからの顕著な色を検出し、それをテーマ色として使用します 再生画面のみにアートワーク色を使う - ホワイトリスト/ブラックリスト + ホワイトリスト/ブラックリスト - ブラックリストの表示/修正 + ブラックリストの表示/修正 - クリア + クリア - ホワイトリストの表示/修正 + ホワイトリストの表示/修正 - クリア + クリア アルバムアートの切り抜き @@ -402,13 +402,13 @@ グリッドサイズ - ホワイトリスト + ホワイトリスト - ブラックリスト + ブラックリスト - オーバーフローボタン(三つのドット)をタップし「ブラックリスト」を選択すると楽曲をブラックリストに追加できます。 + オーバーフローボタン(三つのドット)をタップし「ブラックリスト」を選択すると楽曲をブラックリストに追加できます。 - ホワイトリストに追加したいフォルダを選ぶと楽曲をホワイトリストに追加できます。 + ホワイトリストに追加したいフォルダを選ぶと楽曲をホワイトリストに追加できます。 バイオグラフィー @@ -612,7 +612,7 @@ 再生… - ホワイトリストの保存 + ホワイトリストの保存 楽曲情報の表示 @@ -666,8 +666,8 @@ 既にShuttleをアップグレードしましたが、無料版を表示していた場合このボタンを押してください。 購入情報の復元 - ブラックリストに曲が登録されていません! - ホワイトリストにフォルダが登録されていません! + ブラックリストに曲が登録されていません! + ホワイトリストにフォルダが登録されていません! 曲情報 パス ファイルサイズ diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index 0ad18391b..6928f3c7e 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -9,9 +9,9 @@ 재생 목록이 %s에 저장되었습니다. - 블랙리스트가 삭제되었습니다. + 블랙리스트가 삭제되었습니다. - 화이트리스트가 삭제되었습니다. + 화이트리스트가 삭제되었습니다. 폴더를 삭제할 수 없습니다.\n\n폴더가 쓰기 보호되어 있을 수 있습니다. @@ -257,15 +257,15 @@ 활성화하면 Shuttle에서 가장 두드러진 색상을 찾아, 앱의 \'주 색상\'으로 사용합니다. \'지금 재생 중\' 화면에서만 - 화이트리스트/블랙리스트 + 화이트리스트/블랙리스트 - 블랙리스트 보기/편집 + 블랙리스트 보기/편집 - 비우기 + 비우기 - 화이트리스트 보기/편집 + 화이트리스트 보기/편집 - 비우기 + 비우기 앨범아트 자르기 @@ -400,13 +400,13 @@ 격자 크기 - 화이트리스트 + 화이트리스트 - 블랙리스트 + 블랙리스트 - 특정 노래의 메뉴를 연 후, \'블랙리스트\'를 선택하여 노래를 블랙리스트에 추가할 수 있습니다. + 특정 노래의 메뉴를 연 후, \'블랙리스트\'를 선택하여 노래를 블랙리스트에 추가할 수 있습니다. - 폴더 브라우저에서 메뉴를 연 후, \'화이트리스트\'를 선택하여 화이트리스트에 추가하고 싶은 폴더를 선택하면 노래를 화이트리스트에 추가할 수 있습니다. + 폴더 브라우저에서 메뉴를 연 후, \'화이트리스트\'를 선택하여 화이트리스트에 추가하고 싶은 폴더를 선택하면 노래를 화이트리스트에 추가할 수 있습니다. 아티스트 정보 @@ -606,7 +606,7 @@ …에서 재생 - 화이트리스트 저장 + 화이트리스트 저장 음악 정보 표시 @@ -660,8 +660,8 @@ Shuttle을 구매했는데도 무료 버전이 나타난다면 여기를 누르십시오. 구매 기록 복원 - 블랙리스트에 추가한 노래가 없습니다! - 화이트리스트에 추가한 폴더가 없습니다! + 블랙리스트에 추가한 노래가 없습니다! + 화이트리스트에 추가한 폴더가 없습니다! 노래 정보 경로 파일 크기 diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 23fa4e561..91132966f 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -9,9 +9,9 @@ Afspeellijst opgeslagen in %s - Blacklist verwijderd + Blacklist verwijderd - Whitelist verwijderd + Whitelist verwijderd Fout bij verwijderen map.\n\nDeze map heeft waarschijnlijk schrijfbescherming. @@ -261,15 +261,15 @@ Indien ingeschakeld, zal Shuttle de meest prominente kleur uit de illustraties herkennen, en deze gebruiken als \'primaire kleur\' in de hele app. Alleen op scherm \'Speelt nu\' - White/blacklist + White/blacklist - Blacklist bekijken/bewerken + Blacklist bekijken/bewerken - Legen + Legen - Whitelist bekijken/bewerken + Whitelist bekijken/bewerken - Legen + Legen Albumhoes bijsnijden @@ -407,13 +407,13 @@ Indien uitgeschakeld wordt het Shuttle-icoon als plaatshouder gebruikt Rooster grootte - Whitelist + Whitelist - Blacklist + Blacklist - Nummers kunnen aan de blacklist worden toegevoegd door \'Blacklist\' te kiezen in het overloopmenu (3 verticale stippen) bij een nummer. + Nummers kunnen aan de blacklist worden toegevoegd door \'Blacklist\' te kiezen in het overloopmenu (3 verticale stippen) bij een nummer. - Nummers kunnen aan de whitelist worden toegevoegd door in de mapbrowser op de instellingenknop te drukken, \'Whitelist\' te kiezen, en dan de mappen te kiezen die je in de whitelist wil hebben. + Nummers kunnen aan de whitelist worden toegevoegd door in de mapbrowser op de instellingenknop te drukken, \'Whitelist\' te kiezen, en dan de mappen te kiezen die je in de whitelist wil hebben. Biografie @@ -620,7 +620,7 @@ map " Afspelen op… - Whitelist opslaan + Whitelist opslaan Geeft nummerinformatie weer @@ -674,8 +674,8 @@ map " Als je Shuttle al hebt geüpgraded, met zegt dat je de gratis versie hebt, druk hier. Herstel aankopen - Je hebt geen nummers geblacklist! - Je hebt geen mappen gewhitelist! + Je hebt geen nummers geblacklist! + Je hebt geen mappen gewhitelist! Nummer info Pad Bestandsgrootte diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index bc7fcfdfb..634ff0839 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -9,9 +9,9 @@ Zapisano listę odtwarzania do pliku %s - Usunięto listę pomijanych + Usunięto listę pomijanych - Usunięto listę uwzględnianych + Usunięto listę uwzględnianych Błąd usuwania katalogu.\n\nTen katalog może być zabezpieczony przed zapisem. @@ -261,15 +261,15 @@ Wykrywa główny kolor obrazu i używa go jako kolor pierwszoplanowy aplikacji. Tylko na ekranie „odtwarzane” - Listy pomijanych/uwzględnianych + Listy pomijanych/uwzględnianych - Wyświetl/edytuj listę pomijanych + Wyświetl/edytuj listę pomijanych - Wyczyść + Wyczyść - Wyświetl/edytuj listę uwzględnianych + Wyświetl/edytuj listę uwzględnianych - Wyczyść + Wyczyść Kadrowanie okładki albumu @@ -407,13 +407,13 @@ Po wyłączeniu, jako obraz zastępczy będzie używana ikona programu. Rozmiar siatki - Lista uwzględnianych + Lista uwzględnianych - Lista pomijanych + Lista pomijanych - Aby dodać utwory do listy, proszę nacisnąć przycisk menu podręcznego (kona z 3 pionowymi kropkami) utworu i wybrać polecenie „Lista pomijanych”. + Aby dodać utwory do listy, proszę nacisnąć przycisk menu podręcznego (kona z 3 pionowymi kropkami) utworu i wybrać polecenie „Lista pomijanych”. - Aby dodać utwory do listy, proszę nacisnąć przycisk ustawień w przeglądarce katalogów, wybrać polecenie „Lista uwzględnianych” i wybrać katalogi, które mają znaleźć się na liście. + Aby dodać utwory do listy, proszę nacisnąć przycisk ustawień w przeglądarce katalogów, wybrać polecenie „Lista uwzględnianych” i wybrać katalogi, które mają znaleźć się na liście. Biografia @@ -626,7 +626,7 @@ katalog Odtwarzaj na… - Zapisz listę uwzględnianych + Zapisz listę uwzględnianych Wyświetla informacje o utworze @@ -680,8 +680,8 @@ katalog Przywraca zakupioną płatną wersję programu. Przywróć zakupy - Na liście pomijanych nie ma żadnego utworu! - Na liście uwzględnianych nie ma żadnego katalogu! + Na liście pomijanych nie ma żadnego utworu! + Na liście uwzględnianych nie ma żadnego katalogu! Informacje o utworze Ścieżka Rozmiar pliku diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index d45b9e150..5e0fec1ca 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -9,9 +9,9 @@ Playlist salva em %s - Lista negra apagada + Lista negra apagada - Lista branca apagada + Lista branca apagada Erro ao apagar pasta.\n\nEssa pasta pode estar protegida contra gravação. @@ -262,15 +262,15 @@ músicas adicionadas à fila. Se habilitado, o Shuttle detectará a cor mais proeminente na capa da música e irá usá-la como a \'cor primária\' do app Apenas na tela \'Em Reprodução\' - Lista negra/branca + Lista negra/branca - Ver/editar lista negra + Ver/editar lista negra - Limpar lista + Limpar lista - Ver/editar lista branca + Ver/editar lista branca - Limpar lista + Limpar lista Cortar capa @@ -408,13 +408,13 @@ Se estiver desmarcado, o ícone do Shuttle será usado como uma capa Tamanho da grade - Lista branca + Lista branca - Lista negra + Lista negra - Músicas podem ser adicionadas à lista negra pressionando o botão de overflow (3 pontos verticais) a partir de uma música e selecionando \'Lista negra\'. + Músicas podem ser adicionadas à lista negra pressionando o botão de overflow (3 pontos verticais) a partir de uma música e selecionando \'Lista negra\'. - Músicas podem ser adicionadas à lista branca pressionando o botão de configurações a partir do navegador de pastas e selecionando \'Lista branca\', depois escolhendo as pastas que você gostaria de incluir na lista. + Músicas podem ser adicionadas à lista branca pressionando o botão de configurações a partir do navegador de pastas e selecionando \'Lista branca\', depois escolhendo as pastas que você gostaria de incluir na lista. Biografia @@ -620,7 +620,7 @@ pastas Reproduzir em… - Salvar lista branca + Salvar lista branca Exibe informações sobre a música @@ -674,8 +674,8 @@ pastas Se você já atualizou o Shuttle, mas ainda está vendo a versão grátis, toque aqui. Restaurar compras - Você não tem nenhuma música na lista negra! - Você não tem nenhuma pasta na lista branca! + Você não tem nenhuma música na lista negra! + Você não tem nenhuma pasta na lista branca! Informações Pasta Tamanho do arquivo diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index ee83fde5d..43a1aa41e 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -9,9 +9,9 @@ Playlist-ul a fost salvat în %s - Lista neagră ștearsă + Lista neagră ștearsă - Lista albă ștearsă + Lista albă ștearsă Eroare la ștergerea folderului.\n\nAcest folder poate fi protejat la scriere. @@ -237,15 +237,15 @@ Deschisă Negru - Listă neagră/albă + Listă neagră/albă - Vezi/Editează lista neagră + Vezi/Editează lista neagră - Golește + Golește - Vezi/Editează lista albă + Vezi/Editează lista albă - Golește + Golește Taie coperta albumului @@ -293,7 +293,7 @@ Folosește substituenți Gmail - Arată substituenți „Gmail” în mod predefinit. + Arată substituenți „Gmail” în mod predefinit. Dacă nu este bifat, pictograma Shuttle va fi folosită ca substituent Activează coperțile de album în ecranul de blocare @@ -370,13 +370,13 @@ Grilă: Carduri - Lista albă + Lista albă - Lista neagră + Lista neagră - Melodiile pot fi adăugate în lista neagră apăsând pe cele 3 puncte verticale de la o melodie particulară, selectând mai apoi „listă neagră”. + Melodiile pot fi adăugate în lista neagră apăsând pe cele 3 puncte verticale de la o melodie particulară, selectând mai apoi „listă neagră”. - Melodiile pot fi adăugate în lista albă apăsând butonul de setări din navigatorul de foldere, apoi pe „restricționează librăria muzicală”, iar apoi alegând folderele pe care vrei să le incluzi în lista albă. + Melodiile pot fi adăugate în lista albă apăsând butonul de setări din navigatorul de foldere, apoi pe „restricționează librăria muzicală”, iar apoi alegând folderele pe care vrei să le incluzi în lista albă. Biografie @@ -566,7 +566,7 @@ Redă pe … - Salvează lista albă + Salvează lista albă Afișează informații despre o melodie @@ -604,8 +604,8 @@ Dacă ai făcut deja upgrade la Shuttle, dar încă apare ca și versiunea gratuită, apasă asta. Restabilește achizițiile - Nu ai melodii în lista neagră! - Nu ai fișiere în lista albă! + Nu ai melodii în lista neagră! + Nu ai fișiere în lista albă! Informații melodie Calea Mărimea fișierului diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 9a6269540..32dc2a68f 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -9,9 +9,9 @@ Плей-лист сохранён в %s - Чёрный список был удалён + Чёрный список был удалён - Белый список был удалён + Белый список был удалён Ошибка удаления папки.\n\nВозможно, для папки установлена защита от записи. @@ -265,15 +265,15 @@ Если включено, Shuttle обнаружит более заметный цвет из обложки и будет использовать его в качестве основного во всём приложении Только на экране Сейчас играет - Белый/чёрный список + Белый/чёрный список - Смотреть/редактировать чёрный список + Смотреть/редактировать чёрный список - Очистить + Очистить - Смотреть/редактировать белый список + Смотреть/редактировать белый список - Очистить + Очистить Обрезать обложки альбомов @@ -347,7 +347,7 @@ Пауза при отсоединении - "При отсоединении наушников/гарнитуры воспроизведение приостанавливается + "При отсоединении наушников/гарнитуры воспроизведение приостанавливается " Наушники/Гарнитура @@ -364,7 +364,7 @@ Включить скробблинг - "Включить скробблинг через Simple Last.fm Scrobbler + "Включить скробблинг через Simple Last.fm Scrobbler " Скачать @@ -412,13 +412,13 @@ Размер сетки - Белый список + Белый список - Чёрный список + Чёрный список - Песни можно добавить в чёрный список, нажав три точки справа от песни и выбрав \'Чёрный список\' + Песни можно добавить в чёрный список, нажав три точки справа от песни и выбрав \'Чёрный список\' - Песни можно добавить в белый список, нажав кнопку настроек при просмотре папок и выбрав \'Белый список\'. Затем нужно выбрать папки, которые вы хотите включить в белый список + Песни можно добавить в белый список, нажав кнопку настроек при просмотре папок и выбрав \'Белый список\'. Затем нужно выбрать папки, которые вы хотите включить в белый список Биография @@ -627,7 +627,7 @@ Воспроизвести в… - Сохранить белый список + Сохранить белый список Показывает информацию о песне @@ -681,8 +681,8 @@ Если Вы уже приобрели Shuttle, но он до сих пор отображается бесплатной версией, нажмите здесь. Восстановить покупки - Вы не внесли в чёрный список ни одной песни! - Вы не внесли в белый список ни одной песни! + Вы не внесли в чёрный список ни одной песни! + Вы не внесли в белый список ни одной песни! Информация Путь Размер файла diff --git a/app/src/main/res/values-th/strings.xml b/app/src/main/res/values-th/strings.xml index ee90b7bb6..608f5dff2 100644 --- a/app/src/main/res/values-th/strings.xml +++ b/app/src/main/res/values-th/strings.xml @@ -9,9 +9,9 @@ บันทึกเพลย์ลิสต์ไปที่ %s - ลบบัญชีดำแล้ว + ลบบัญชีดำแล้ว - ลบรายการที่อนุญาตแล้ว + ลบรายการที่อนุญาตแล้ว เกิดข้อผิดพลาดในการลบโฟลเดอร์\n\nโฟลเดอร์นี้อาจมีป้องกันการเขียนไว้ @@ -256,15 +256,15 @@ หากเปิดใช้งาน Shuttle จะตรวจจับสีที่โดดเด่นที่สุดในผลงานศิลปะของคุณและใช้เป็นสีหลักตลอดทั้งแอป เฉพาะบนหน้าจอ \'กำลังเล่น\' - รายการที่อนุญาต/บัญชีดำ + รายการที่อนุญาต/บัญชีดำ - ดู/แก้ไขบัญชีดำ + ดู/แก้ไขบัญชีดำ - ล้าง + ล้าง - ดู/แก้ไขรายการที่อนุญาต + ดู/แก้ไขรายการที่อนุญาต - ล้าง + ล้าง ครอบตัดอัลบั้ม @@ -397,13 +397,13 @@ ขนาดตาราง - รายการที่อนุญาต + รายการที่อนุญาต - บัญชีดำ + บัญชีดำ - สามารถเพิ่มเพลงลงในบัญชีดำได้โดยกดปุ่ม overflow (3 จุดในแนวตั้ง) จากเพลงหนึ่ง ๆ และเลือก \'บัญชีดำ\' + สามารถเพิ่มเพลงลงในบัญชีดำได้โดยกดปุ่ม overflow (3 จุดในแนวตั้ง) จากเพลงหนึ่ง ๆ และเลือก \'บัญชีดำ\' - คุณสามารถเพิ่มเพลงลงในรายการที่อนุญาตพิเศษได้โดยการกดปุ่มตั้งค่าจากเบราเซอร์โฟลเดอร์เลือก \'รายการที่อนุญาตพิเศษ\' จากนั้นเลือกโฟลเดอร์ที่คุณต้องการรวมไว้ในรายการที่อนุญาตพิเศษ + คุณสามารถเพิ่มเพลงลงในรายการที่อนุญาตพิเศษได้โดยการกดปุ่มตั้งค่าจากเบราเซอร์โฟลเดอร์เลือก \'รายการที่อนุญาตพิเศษ\' จากนั้นเลือกโฟลเดอร์ที่คุณต้องการรวมไว้ในรายการที่อนุญาตพิเศษ ชีวประวัติ @@ -603,7 +603,7 @@ เล่นบน… - บันทึกรายการที่อนุญาต + บันทึกรายการที่อนุญาต แสดงข้อมูลเพลง @@ -657,8 +657,8 @@ ถ้าคุณได้อัปเกรด Shuttle แล้ว แต่ยังคงปรากฏเป็นเวอร์ชันฟรีให้กดปุ่มนี้ คืนค่าการซื้อ - คุณยังไม่ได้ใส่รายการเพลงไว้ในบัญชีดำ! - คุณยังไม่ได้เพิ่มโฟลเดอร์ใดๆ ไว้ในรายการที่อนุญาตพิเศษ! + คุณยังไม่ได้ใส่รายการเพลงไว้ในบัญชีดำ! + คุณยังไม่ได้เพิ่มโฟลเดอร์ใดๆ ไว้ในรายการที่อนุญาตพิเศษ! ข้อมูลเพลง เส้นทาง ขนาดไฟล์ diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 7e5b39002..5abf7a18e 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -9,9 +9,9 @@ Çalma listesi %s konumuna kaydedildi - Kara liste silindi + Kara liste silindi - Beyaz liste silindi + Beyaz liste silindi Klasör silme hatası.\n\nBu klasör yazmaya karşı korumalı olabilir. @@ -262,15 +262,15 @@ Etkinleştirilirse, Shuttle albüm kapağında ki en belirgin rengi algılar ve bunu uygulamanın tamamında \'ana renk\' olarak kullanır Yalnızca \'Şimdi Çalınıyor\' Ekranında - Beyaz/Kara Liste + Beyaz/Kara Liste - Kara Listeyi Görüntüle/Düzenle + Kara Listeyi Görüntüle/Düzenle - Temizle + Temizle - Beyaz Listeyi Görüntüle/Düzenle + Beyaz Listeyi Görüntüle/Düzenle - Temizle + Temizle Albüm Kapağını Kırp @@ -408,13 +408,13 @@ Bu seçenek işaretli değilse, Shuttle simgesi kullanılacaktır. Kılavuz boyutu - Beyaz liste + Beyaz liste - Kara liste + Kara liste - Şarkılar, belirli bir şarkının seçenek (3 dikey nokta) tuşuna basarak \'kara liste\' seçeneği ile kara listeye eklenebilir. + Şarkılar, belirli bir şarkının seçenek (3 dikey nokta) tuşuna basarak \'kara liste\' seçeneği ile kara listeye eklenebilir. - Klasör tarayıcıdan ayarlar simgesine basarak, \'beyaz listeyi\' seçip ardından beyaz listeye eklemek istediğiniz klasörleri seçerek şarkıları beyaz listeye ekleyebilirsiniz. + Klasör tarayıcıdan ayarlar simgesine basarak, \'beyaz listeyi\' seçip ardından beyaz listeye eklemek istediğiniz klasörleri seçerek şarkıları beyaz listeye ekleyebilirsiniz. Biyografi @@ -620,7 +620,7 @@ dosyalar Çalınan… - Beyaz Listeyi Kaydet + Beyaz Listeyi Kaydet Şarkı bilgisini görüntüler @@ -674,8 +674,8 @@ dosyalar Shuttle\'ı zaten yükselttiyseniz ancak hala ücretsiz sürüm olarak görünüyorsa, bu tuşa basın. Satın Almayı Geri Yükle - Herhangi bir şarkı kara listede değil! - Herhangi bir klasör beyaz listede değil! + Herhangi bir şarkı kara listede değil! + Herhangi bir klasör beyaz listede değil! Şarkı Bilgisi Yol Dosya Boyutu diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index 9bcd5cd8e..ff8969d0a 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -9,9 +9,9 @@ Плейлист збережений в %s - Чорний список видалено + Чорний список видалено - Білий список видалено + Білий список видалено Помилка видалення теки.\n\nМожливо, для теки встановлено захист від запису. @@ -252,15 +252,15 @@ Світла Чорний - Білий/чорний список + Білий/чорний список - Перегляд/редагування чорного списку + Перегляд/редагування чорного списку - Очистити + Очистити - Перегляд/редагування білого списку + Перегляд/редагування білого списку - Очистити + Очистити Обрізати обкладинку альбома @@ -389,13 +389,13 @@ Сітка: картки - Білий список + Білий список - Чорний список + Чорний список - "Треки можна додавати в чорний список за допомогою кнопки overflow (3 вертикальні крапки) " + "Треки можна додавати в чорний список за допомогою кнопки overflow (3 вертикальні крапки) " - Треки можна додати до білого списку шляхом натискання кнопки \"налаштування\" з файлового браузера, та вибрати \'білий список\', а потім обрати теки які ви хочете включити до білий список. + Треки можна додати до білого списку шляхом натискання кнопки \"налаштування\" з файлового браузера, та вибрати \'білий список\', а потім обрати теки які ви хочете включити до білий список. Біографія @@ -591,7 +591,7 @@ Відтворити… - Зберегти білий список + Зберегти білий список Показує інформацію про трек @@ -645,8 +645,8 @@ Якщо ви оновились до Shuttle+, а він досі відображається як безкоштовна версія, натисніть тут. Відновити покупки - Жодного треку не додано в чорний список! - Жодної теки не додано в білий список! + Жодного треку не додано в чорний список! + Жодної теки не додано в білий список! Про трек Доріжка Розмір файлу diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml index b295bfc8d..5f3f1c4a5 100644 --- a/app/src/main/res/values-vi/strings.xml +++ b/app/src/main/res/values-vi/strings.xml @@ -9,9 +9,9 @@ Danh sách được lưu vào %s - Đã xoá danh sách đen + Đã xoá danh sách đen - Đã xoá danh sách trắng + Đã xoá danh sách trắng Lỗi khi xoá thư mục.\n\nThư mục này có thể được bảo vệ chống ghi. @@ -90,11 +90,11 @@ Cảm ơn Bạn đã nâng cấp thành công lên Shuttle+. Tôi đánh giá cao sự ủng hộ từ bạn. \n\nVui lòng khởi động lại ứng dụng để đảm bảo mọi tính năng được kích hoạt - Nâng cấp sẽ mở khoá các tính năng bổ sung trong Shuttle, bao gồm - \n\nThêm nhiều chủ đề - \nChỉnh sửa thẻ (hỗ trợ có giới hạn trong Android 4.4 Kitkat) - \nDuyệt thư mục - \nHỗ trợ ChromeCast + Nâng cấp sẽ mở khoá các tính năng bổ sung trong Shuttle, bao gồm + \n\nThêm nhiều chủ đề + \nChỉnh sửa thẻ (hỗ trợ có giới hạn trong Android 4.4 Kitkat) + \nDuyệt thư mục + \nHỗ trợ ChromeCast \n\nViệc này cũng giúp đỡ việc phát triển trong tương lai.\n\nBạn không cần nâng cấp nếu bạn đã có Shuttle+ Nâng cấp @@ -255,15 +255,15 @@ Nếu được chọn, Shuttle sẽ phát hiện màu nổi bật nhất trong ảnh bìa và dùng nó làm màu chủ đạo cho ứng dụng Chỉ trong màn hình \'Đang phát\' - Danh sách trắng/đen + Danh sách trắng/đen - Xem/Sửa danh sách đen + Xem/Sửa danh sách đen - Xoá + Xoá - Xem/Sửa danh sách trắng + Xem/Sửa danh sách trắng - Xoá + Xoá Cắt ảnh album @@ -313,7 +313,7 @@ Sử dụng chỗ dành sẵn kiểu Gmail - Hiển thị mặc định chỗ dành sẵn kiểu \'Gmail\'. + Hiển thị mặc định chỗ dành sẵn kiểu \'Gmail\'. Nếu không chọn, biểu tượng Shuttle sẽ được sử dụng làm chỗ dành sẵn Kích hoạt ảnh bìa màn hình khoá @@ -396,13 +396,13 @@ Cỡ lưới - Danh sách trắng + Danh sách trắng - Danh sách đen + Danh sách đen - Bài hát có thể thêm vào danh sách đen bằng cách chạm 3 dấu chấm bên cạnh bài hát, và chọn \'danh sách đen\'. + Bài hát có thể thêm vào danh sách đen bằng cách chạm 3 dấu chấm bên cạnh bài hát, và chọn \'danh sách đen\'. - Bài hát có thể được thêm vào danh sách trắng bằng cách chọn nút thiết lập từ trình duyệt thư mục, và chọn \'giới hạn thư viện nhạc\', sau đó chọn thư mục bạn muốn có trong danh sách trắng. + Bài hát có thể được thêm vào danh sách trắng bằng cách chọn nút thiết lập từ trình duyệt thư mục, và chọn \'giới hạn thư viện nhạc\', sau đó chọn thư mục bạn muốn có trong danh sách trắng. Tiểu sử @@ -604,7 +604,7 @@ Phát trên… - Lưu danh sách trắng + Lưu danh sách trắng Hiển thị thông tin bài hát @@ -658,8 +658,8 @@ Nếu bạn đã nâng cấp Shuttle rồi nhưng vẫn hiện là bản miễn phí, hãy chạm vào đây. Phục hồi mua hàng - Bạn chưa đưa bài hát nào vào danh sách đen cả - Bạn chưa đưa thư mục nào vào danh sách trắng cả! + Bạn chưa đưa bài hát nào vào danh sách đen cả + Bạn chưa đưa thư mục nào vào danh sách trắng cả! Thông tin bài hát Đường dẫn Kích thước diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 3be6bb279..0df13d3d3 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -9,9 +9,9 @@ 歌单已保存至%s - 已清空黑名单 + 已清空黑名单 - 已清空白名单 + 已清空白名单 无法删除文件夹。\n\n文件夹可能有写入保护 @@ -260,15 +260,15 @@ 启用后,Shuttle 将会侦测您的专辑封面影像中较为显眼的色彩,并将其设为应用程式界面主题的主要色彩 仅在正播界面 - 名单 + 名单 - 查看/编辑黑名单 + 查看/编辑黑名单 - 清空 + 清空 - 查看/编辑白名单 + 查看/编辑白名单 - 清空 + 清空 裁剪专辑封面 @@ -338,12 +338,12 @@ 连接恢复播放 - "插入耳机后恢复播放 + "插入耳机后恢复播放 " 断开暂停播放 - "拔出耳机时暂停播放 + "拔出耳机时暂停播放 " 耳机 @@ -407,13 +407,13 @@ 网格容量 - 白名单 + 白名单 - 黑名单 + 黑名单 - 如要将音乐加入至黑名单,请按下所需要的歌曲旁的选单键,然后选择「黑名单」 + 如要将音乐加入至黑名单,请按下所需要的歌曲旁的选单键,然后选择「黑名单」 - 如要将音乐添加至白名单,请切换至文件浏览界面,然后按下选单键并选择「白名单」,即可选取要加入至白名单的文件夹 + 如要将音乐添加至白名单,请切换至文件浏览界面,然后按下选单键并选择「白名单」,即可选取要加入至白名单的文件夹 信息 @@ -615,7 +615,7 @@ 播放… - 保存白名单 + 保存白名单 显示歌曲信息 @@ -669,8 +669,8 @@ 若您已升级 Shuttle,但仍显示为免费版本,请按这里 还原购买 - 您目前没有任何已加入至黑名单的歌曲 - 您目前没有任何已加入至白名单的文件夹 + 您目前没有任何已加入至黑名单的歌曲 + 您目前没有任何已加入至白名单的文件夹 歌曲信息 歌曲路径 文件大小 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index b41f003d5..c3b36f759 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -9,9 +9,9 @@ 播放清單已儲存到「%s - 黑名單已刪除 + 黑名單已刪除 - 白名單已刪除 + 白名單已刪除 無法刪除資料夾。\n\n資料夾可能有寫入保護 @@ -260,15 +260,15 @@ 啟用後,Shuttle 將會偵測您的專輯封面影像中較為顯眼的色彩,並將其設為應用程式介面主題的主要色彩 僅適用於「現正播放」畫面 - 黑 / 白名單 + 黑 / 白名單 - 檢視 / 編輯黑名單 + 檢視 / 編輯黑名單 - 清除 + 清除 - 檢視 / 編輯白名單 + 檢視 / 編輯白名單 - 清除 + 清除 裁剪專輯封面 @@ -405,13 +405,13 @@ 網格數量 - 白名單 + 白名單 - 黑名單 + 黑名單 - 如要將音樂加入至黑名單,請按下所需要的曲目旁的選單鍵,然後選擇「黑名單」 + 如要將音樂加入至黑名單,請按下所需要的曲目旁的選單鍵,然後選擇「黑名單」 - 如要將音樂加入至白名單,請切換至檔案瀏覽介面,然後按下選單鍵並選擇「白名單」,即可選取要加入至白名單的資料夾 + 如要將音樂加入至白名單,請切換至檔案瀏覽介面,然後按下選單鍵並選擇「白名單」,即可選取要加入至白名單的資料夾 簡介 @@ -613,7 +613,7 @@ 播放… - 儲存白名單 + 儲存白名單 顯示音樂資訊 @@ -667,8 +667,8 @@ 若您已升級 Shuttle,但仍顯示為免費版本,請按這裡 還原購買資料 - 您目前沒有任何已加入至黑名單的曲目 - 您目前沒有任何已加入至白名單的資料夾 + 您目前沒有任何已加入至黑名單的曲目 + 您目前沒有任何已加入至白名單的資料夾 音樂資訊 路徑 檔案大小 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 8de5634de..90502e68d 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -10,10 +10,10 @@ Couldn\'t save playlist Playlist saved to %s - - Blacklist deleted - - Whitelist deleted + + Excludes deleted + + Includes deleted Error deleting folder.\n\nThis folder might be write protected. @@ -87,35 +87,8 @@ Share song via: Saving playlist - + Gathering songs… - - Upgrade to Shuttle+ - - If you like Shuttle, please consider upgrading. - \n\nFeatures: - \n• Tons of extra themes - \n• Tag editing - \n• Folder browsing - \n• ChromeCast Support\n - \nIt also helps to promote further development. - - Thank You - You have successfully upgraded to Shuttle+. Thank you for your support. - \n\nPlease restart the app to ensure all features are enabled - - - • ChromeCast support - \n• Extra themes - \n• Tag editing - \n• Folder browsing - \n• Support development ❤️ - - Upgrade to Shuttle+ - - Upgrade - - No thanks Close @@ -292,17 +265,17 @@ If enabled, Shuttle will detect the most prominent color in your artwork, and use that as the \'primary color\' throughout the app Only on \'Now Playing\' Screen - - White/Blacklist - - View/Edit Blacklist - - Clear - - View/Edit Whitelist - - Clear - + + Include/Exclude + + View/Edit Excluded + + Clear + + View/Edit Included + + Clear + Crop Album Art Crops album art to take up all of the available space in the \'now playing\' screen @@ -417,8 +390,8 @@ Version FAQ Have a question? Need help? Click here to view the FAQ @ www.shuttlemusicplayer.com - Get Help - There is a very active community of Shuttle users on Google+. If you have questions or need help, this is the best place to go. + Get Help + If you have questions or need help, Discord is the best place to go. Say Thanks If you like Shuttle, please consider leaving a review. @@ -446,13 +419,13 @@ Grid size - Whitelist + Included - Blacklist + Excluded - Songs can be added to the blacklist by pressing the overflow (3 vertical dots) from a particular song, and selecting \'blacklist\'. + Songs can be excluded by pressing the overflow (3 vertical dots) from a particular song, and selecting \'exclude\'. - Songs can be added to the whitelist by pressing the settings button from the folder-browser, selecting \'whitelist\', then choosing the folders you wish to include in the whitelist. + Songs can be included by pressing the settings button from the folder-browser, selecting \'include\', then choosing the folders you wish to include. @@ -682,8 +655,8 @@ Comment Play on… - - Save Whitelist + + Save Includes Displays song information @@ -741,10 +714,8 @@ Now playing %1$s by %2$s - If you\'ve already upgraded Shuttle, but it\'s still showing up as the free version, press this. - Restore Purchases - You haven\'t blacklisted any songs! - You haven\'t whitelisted any folders! + You haven\'t excluded any songs! + You haven\'t included any folders! Song Info Path File Size @@ -754,10 +725,6 @@ Play Count " kbps" " kHz" - Purchase Restored. Please restart Shuttle - No previous purchase found. - Shuttle is already upgraded. Try restarting the app. - Something went wrong. Please try again later.. Enjoy using Shuttle? Rate It! Error creating playlist diff --git a/app/src/main/res/xml/settings_blacklist.xml b/app/src/main/res/xml/settings_blacklist.xml index bb99a818a..421a78d77 100644 --- a/app/src/main/res/xml/settings_blacklist.xml +++ b/app/src/main/res/xml/settings_blacklist.xml @@ -4,22 +4,22 @@ xmlns:android="http://schemas.android.com/apk/res/android"> + android:title="@string/excludes_title"> + android:summary="@string/exclude_description" + android:title="@string/pref_title_view_excludes"/> + android:title="@string/includes_title"> + android:summary="@string/include_description" + android:title="@string/pref_title_view_includes"/> \ No newline at end of file diff --git a/app/src/main/res/xml/settings_headers.xml b/app/src/main/res/xml/settings_headers.xml index 1b97637e1..88e76e0d9 100644 --- a/app/src/main/res/xml/settings_headers.xml +++ b/app/src/main/res/xml/settings_headers.xml @@ -34,11 +34,6 @@ - - + android:title="@string/pref_title_excludes"/> \ No newline at end of file diff --git a/app/src/main/res/xml/settings_support.xml b/app/src/main/res/xml/settings_support.xml index b9cd08a2f..b606d4acd 100644 --- a/app/src/main/res/xml/settings_support.xml +++ b/app/src/main/res/xml/settings_support.xml @@ -20,18 +20,13 @@ + android:summary="@string/pref_summary_discord" + android:title="@string/pref_title_discord"/> - - \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/Config.kt b/buildSrc/src/main/kotlin/Config.kt deleted file mode 100644 index befd2d19d..000000000 --- a/buildSrc/src/main/kotlin/Config.kt +++ /dev/null @@ -1,5 +0,0 @@ -object Config { - - const val versionName = "2.0.15" - -} \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/dependencies/Dependencies.kt b/buildSrc/src/main/kotlin/dependencies/Dependencies.kt index 2b6400996..71e5648a1 100644 --- a/buildSrc/src/main/kotlin/dependencies/Dependencies.kt +++ b/buildSrc/src/main/kotlin/dependencies/Dependencies.kt @@ -3,10 +3,8 @@ package dependencies object Dependencies { const val minSdk = 21 - const val targetSdk = 28 - const val compileSdk = 28 - - const val buildTools = "28.0.3" + const val targetSdk = 29 + const val compileSdk = 29 object Versions { const val nanoHttp = "2.3.1" @@ -23,7 +21,6 @@ object Dependencies { const val dagger = "2.16" const val daggerAnnotationProcessor = "2.16" const val expandableRecyclerView = "3.0.0-RC1" - const val billing = "1.1" } // Kotlin @@ -69,16 +66,12 @@ object Dependencies { // Expandable Recycler View - https://github.com/thoughtbot/expandable-recycler-view const val expandableRecyclerView = "com.bignerdranch.android:expandablerecyclerview:${Versions.expandableRecyclerView}" - // In app purchases - const val billing = "com.android.billingclient:billing:${Versions.billing}" - - object Plugins { object Versions { - const val androidGradlePlugin = "3.3.1" + const val androidGradlePlugin = "4.0.0" const val kotlin = "1.3.20" - const val dexcountGradlePlugin = "0.8.2" + const val dexcountGradlePlugin = "1.0.3" const val fabricGradlePlugin = "1.+" const val playPublisher = "2.1.0" const val gradleVersions = "0.20.0" diff --git a/fastlane/metadata/android/en-US/full_description.txt b/fastlane/metadata/android/en/full_description.txt similarity index 100% rename from fastlane/metadata/android/en-US/full_description.txt rename to fastlane/metadata/android/en/full_description.txt diff --git a/fastlane/metadata/android/en-US/images/phoneScreenshots/Shuttle1.webp b/fastlane/metadata/android/en/images/phoneScreenshots/Shuttle1.webp similarity index 100% rename from fastlane/metadata/android/en-US/images/phoneScreenshots/Shuttle1.webp rename to fastlane/metadata/android/en/images/phoneScreenshots/Shuttle1.webp diff --git a/fastlane/metadata/android/en-US/images/phoneScreenshots/Shuttle2.webp b/fastlane/metadata/android/en/images/phoneScreenshots/Shuttle2.webp similarity index 100% rename from fastlane/metadata/android/en-US/images/phoneScreenshots/Shuttle2.webp rename to fastlane/metadata/android/en/images/phoneScreenshots/Shuttle2.webp diff --git a/fastlane/metadata/android/en-US/images/phoneScreenshots/Shuttle3.webp b/fastlane/metadata/android/en/images/phoneScreenshots/Shuttle3.webp similarity index 100% rename from fastlane/metadata/android/en-US/images/phoneScreenshots/Shuttle3.webp rename to fastlane/metadata/android/en/images/phoneScreenshots/Shuttle3.webp diff --git a/fastlane/metadata/android/en-US/images/phoneScreenshots/Shuttle4.webp b/fastlane/metadata/android/en/images/phoneScreenshots/Shuttle4.webp similarity index 100% rename from fastlane/metadata/android/en-US/images/phoneScreenshots/Shuttle4.webp rename to fastlane/metadata/android/en/images/phoneScreenshots/Shuttle4.webp diff --git a/fastlane/metadata/android/en-US/images/phoneScreenshots/Shuttle5.webp b/fastlane/metadata/android/en/images/phoneScreenshots/Shuttle5.webp similarity index 100% rename from fastlane/metadata/android/en-US/images/phoneScreenshots/Shuttle5.webp rename to fastlane/metadata/android/en/images/phoneScreenshots/Shuttle5.webp diff --git a/fastlane/metadata/android/en-US/images/phoneScreenshots/Shuttle6.webp b/fastlane/metadata/android/en/images/phoneScreenshots/Shuttle6.webp similarity index 100% rename from fastlane/metadata/android/en-US/images/phoneScreenshots/Shuttle6.webp rename to fastlane/metadata/android/en/images/phoneScreenshots/Shuttle6.webp diff --git a/fastlane/metadata/android/en-US/images/phoneScreenshots/Shuttle7.webp b/fastlane/metadata/android/en/images/phoneScreenshots/Shuttle7.webp similarity index 100% rename from fastlane/metadata/android/en-US/images/phoneScreenshots/Shuttle7.webp rename to fastlane/metadata/android/en/images/phoneScreenshots/Shuttle7.webp diff --git a/fastlane/metadata/android/en-US/images/phoneScreenshots/Shuttle8.webp b/fastlane/metadata/android/en/images/phoneScreenshots/Shuttle8.webp similarity index 100% rename from fastlane/metadata/android/en-US/images/phoneScreenshots/Shuttle8.webp rename to fastlane/metadata/android/en/images/phoneScreenshots/Shuttle8.webp diff --git a/fastlane/metadata/android/en-US/images/phoneScreenshots/Shuttle9.webp b/fastlane/metadata/android/en/images/phoneScreenshots/Shuttle9.webp similarity index 100% rename from fastlane/metadata/android/en-US/images/phoneScreenshots/Shuttle9.webp rename to fastlane/metadata/android/en/images/phoneScreenshots/Shuttle9.webp diff --git a/fastlane/metadata/android/en-US/images/phoneScreenshots/ShuttleA.webp b/fastlane/metadata/android/en/images/phoneScreenshots/ShuttleA.webp similarity index 100% rename from fastlane/metadata/android/en-US/images/phoneScreenshots/ShuttleA.webp rename to fastlane/metadata/android/en/images/phoneScreenshots/ShuttleA.webp diff --git a/fastlane/metadata/android/en-US/images/phoneScreenshots/ShuttleB.webp b/fastlane/metadata/android/en/images/phoneScreenshots/ShuttleB.webp similarity index 100% rename from fastlane/metadata/android/en-US/images/phoneScreenshots/ShuttleB.webp rename to fastlane/metadata/android/en/images/phoneScreenshots/ShuttleB.webp diff --git a/fastlane/metadata/android/en-US/images/phoneScreenshots/ShuttleC.webp b/fastlane/metadata/android/en/images/phoneScreenshots/ShuttleC.webp similarity index 100% rename from fastlane/metadata/android/en-US/images/phoneScreenshots/ShuttleC.webp rename to fastlane/metadata/android/en/images/phoneScreenshots/ShuttleC.webp diff --git a/fastlane/metadata/android/en-US/images/phoneScreenshots/ShuttleD.webp b/fastlane/metadata/android/en/images/phoneScreenshots/ShuttleD.webp similarity index 100% rename from fastlane/metadata/android/en-US/images/phoneScreenshots/ShuttleD.webp rename to fastlane/metadata/android/en/images/phoneScreenshots/ShuttleD.webp diff --git a/fastlane/metadata/android/en-US/images/phoneScreenshots/ShuttleE.webp b/fastlane/metadata/android/en/images/phoneScreenshots/ShuttleE.webp similarity index 100% rename from fastlane/metadata/android/en-US/images/phoneScreenshots/ShuttleE.webp rename to fastlane/metadata/android/en/images/phoneScreenshots/ShuttleE.webp diff --git a/fastlane/metadata/android/en-US/images/phoneScreenshots/ShuttleF.webp b/fastlane/metadata/android/en/images/phoneScreenshots/ShuttleF.webp similarity index 100% rename from fastlane/metadata/android/en-US/images/phoneScreenshots/ShuttleF.webp rename to fastlane/metadata/android/en/images/phoneScreenshots/ShuttleF.webp diff --git a/fastlane/metadata/android/en-US/short_description.txt b/fastlane/metadata/android/en/short_description.txt similarity index 100% rename from fastlane/metadata/android/en-US/short_description.txt rename to fastlane/metadata/android/en/short_description.txt diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index cca33e756..9d0a07efb 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Sun Aug 20 13:15:49 AEST 2017 +#Sun Jun 14 22:05:47 AEST 2020 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.2-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip diff --git a/libraries/aesthetic/build.gradle b/libraries/aesthetic/build.gradle index d2212404f..2976de2e5 100644 --- a/libraries/aesthetic/build.gradle +++ b/libraries/aesthetic/build.gradle @@ -4,7 +4,6 @@ apply plugin: Dependencies.BuildPlugins.androidLibrary android { compileSdkVersion Dependencies.compileSdk - buildToolsVersion Dependencies.buildTools defaultConfig { minSdkVersion Dependencies.minSdk diff --git a/libraries/ccl/build.gradle b/libraries/ccl/build.gradle index 93c0f1db9..25cf6ac91 100755 --- a/libraries/ccl/build.gradle +++ b/libraries/ccl/build.gradle @@ -4,7 +4,6 @@ apply plugin: Dependencies.BuildPlugins.androidLibrary android { compileSdkVersion Dependencies.compileSdk - buildToolsVersion Dependencies.buildTools defaultConfig { minSdkVersion Dependencies.minSdk diff --git a/libraries/glidepalette/build.gradle b/libraries/glidepalette/build.gradle index b3657ca7a..841de9668 100644 --- a/libraries/glidepalette/build.gradle +++ b/libraries/glidepalette/build.gradle @@ -4,7 +4,6 @@ apply plugin: Dependencies.BuildPlugins.androidLibrary android { compileSdkVersion Dependencies.compileSdk - buildToolsVersion Dependencies.buildTools defaultConfig { minSdkVersion Dependencies.minSdk diff --git a/libraries/multisheetview/build.gradle b/libraries/multisheetview/build.gradle index 031da1046..63ca92228 100644 --- a/libraries/multisheetview/build.gradle +++ b/libraries/multisheetview/build.gradle @@ -10,7 +10,6 @@ apply plugin: Dependencies.BuildPlugins.androidLibrary android { compileSdkVersion Dependencies.compileSdk - buildToolsVersion Dependencies.buildTools defaultConfig { minSdkVersion Dependencies.minSdk diff --git a/libraries/navigation/build.gradle b/libraries/navigation/build.gradle index 88951e777..f9296b29e 100644 --- a/libraries/navigation/build.gradle +++ b/libraries/navigation/build.gradle @@ -4,7 +4,6 @@ apply plugin: Dependencies.BuildPlugins.androidLibrary android { compileSdkVersion Dependencies.compileSdk - buildToolsVersion Dependencies.buildTools defaultConfig { minSdkVersion Dependencies.minSdk diff --git a/libraries/recycler-adapter/build.gradle b/libraries/recycler-adapter/build.gradle index 65038bbb6..e2f372bbe 100644 --- a/libraries/recycler-adapter/build.gradle +++ b/libraries/recycler-adapter/build.gradle @@ -10,7 +10,6 @@ apply plugin: Dependencies.BuildPlugins.androidLibrary android { compileSdkVersion Dependencies.compileSdk - buildToolsVersion Dependencies.buildTools defaultConfig { minSdkVersion Dependencies.minSdk