diff --git a/app/build.gradle b/app/build.gradle index 6c7e4987..dbc046f3 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -51,7 +51,7 @@ android { minSdkVersion 16 targetSdkVersion 22 versionCode 60 - versionName "0.9.43b dev-1" + versionName "0.9.43b beta1" } buildTypes { release { diff --git a/app/src/main/assets/changelog.html b/app/src/main/assets/changelog.html new file mode 100644 index 00000000..6365f0d3 --- /dev/null +++ b/app/src/main/assets/changelog.html @@ -0,0 +1,51 @@ + +
+ + + + +You can view the changelog dialog again at any time from the about section.
+ +" + e.getLocalizedMessage() + "
", "text/html", "UTF-8"); + } + return dialog; + } + + private String colorToHex(int color) { + return Integer.toHexString(color).substring(2); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MainActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MainActivity.java index 11ddd938..9b24d1a1 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MainActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MainActivity.java @@ -3,6 +3,8 @@ package com.kabouzeid.gramophone.ui.activities; import android.annotation.SuppressLint; import android.content.ComponentName; import android.content.Intent; +import android.content.pm.PackageInfo; +import android.content.pm.PackageManager; import android.content.res.ColorStateList; import android.graphics.Color; import android.net.Uri; @@ -36,6 +38,7 @@ import com.afollestad.materialdialogs.ThemeSingleton; import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.adapter.PagerAdapter; import com.kabouzeid.gramophone.dialogs.AboutDialog; +import com.kabouzeid.gramophone.dialogs.ChangelogDialog; import com.kabouzeid.gramophone.dialogs.CreatePlaylistDialog; import com.kabouzeid.gramophone.dialogs.SleepTimerDialog; import com.kabouzeid.gramophone.helper.MusicPlayerRemote; @@ -99,7 +102,6 @@ public class MainActivity extends AbsSlidingMusicPanelActivity @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - ButterKnife.bind(this); if (Build.VERSION.SDK_INT == Build.VERSION_CODES.KITKAT) { @@ -116,6 +118,8 @@ public class MainActivity extends AbsSlidingMusicPanelActivity if (shouldColorNavigationBar()) setNavigationBarThemeColor(); setStatusBarThemeColor(); + + checkChangelog(); } @Override @@ -603,4 +607,16 @@ public class MainActivity extends AbsSlidingMusicPanelActivity hideBottomBarListeners.remove(listener); } } + + private void checkChangelog() { + try { + PackageInfo pInfo = getPackageManager().getPackageInfo(getPackageName(), 0); + int currentVersion = pInfo.versionCode; + if (currentVersion != PreferenceUtil.getInstance(this).getLastChangelogVersion()) { + ChangelogDialog.create().show(getSupportFragmentManager(), "CHANGE_LOG_DIALOG"); + } + } catch (PackageManager.NameNotFoundException e) { + e.printStackTrace(); + } + } } \ No newline at end of file diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/base/AbsSlidingMusicPanelActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/base/AbsSlidingMusicPanelActivity.java index 7343f56b..8c6d2e16 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/base/AbsSlidingMusicPanelActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/base/AbsSlidingMusicPanelActivity.java @@ -165,6 +165,8 @@ public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivi setUpPlayPauseButton(); setUpMiniPlayer(); setUpSlidingPanel(); + // ensures that the fab and the mini player are hidden if the queue is empty + getCurrentSong(); initAppearanceVarsFromSharedPrefs(); PreferenceUtil.getInstance(this).registerOnSharedPreferenceChangedListener(this); @@ -710,10 +712,10 @@ public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivi song = MusicPlayerRemote.getCurrentSong(); if (song.id == -1) { playPauseFab.setVisibility(View.GONE); - slidingUpPanelLayout.setVisibility(View.GONE); + hideBottomBar(true); } else { playPauseFab.setVisibility(View.VISIBLE); - slidingUpPanelLayout.setVisibility(View.VISIBLE); + hideBottomBar(PreferenceUtil.getInstance(this).hideBottomBar()); } } diff --git a/app/src/main/java/com/kabouzeid/gramophone/util/ColorUtil.java b/app/src/main/java/com/kabouzeid/gramophone/util/ColorUtil.java index 79bf73da..87535699 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/util/ColorUtil.java +++ b/app/src/main/java/com/kabouzeid/gramophone/util/ColorUtil.java @@ -73,6 +73,15 @@ public class ColorUtil { return (alpha << 24) + (0x00ffffff & Color.HSVToColor(hsv)); } + @SuppressWarnings("ResourceType") + public static int shiftColorUp(@ColorInt int color) { + int alpha = Color.alpha(color); + float[] hsv = new float[3]; + Color.colorToHSV(color, hsv); + hsv[2] *= 1.1f; // value component + return (alpha << 24) + (0x00ffffff & Color.HSVToColor(hsv)); + } + public static float getLuminance(@ColorInt int color) { return (Color.red(color) * 0.299f + Color.green(color) * 0.587f + Color.blue(color) * 0.114f); } diff --git a/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtil.java b/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtil.java index d084d4a2..34eff4e4 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtil.java +++ b/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtil.java @@ -53,6 +53,8 @@ public final class PreferenceUtil { public static final String HIDE_BOTTOM_BAR = "hide_bottom_bar"; + public static final String LAST_CHANGELOG_VERSION = "last_changelog_version"; + private static PreferenceUtil sInstance; private final SharedPreferences mPreferences; @@ -311,4 +313,12 @@ public final class PreferenceUtil { public final boolean artistColoredFooters() { return mPreferences.getBoolean(ARTIST_COLORED_FOOTERS, true); } + + public void setLastChangeLogVersion(int version) { + mPreferences.edit().putInt(LAST_CHANGELOG_VERSION, version).apply(); + } + + public final int getLastChangelogVersion() { + return mPreferences.getInt(LAST_CHANGELOG_VERSION, -1); + } } diff --git a/app/src/main/res/layout/dialog_web_view.xml b/app/src/main/res/layout/dialog_web_view.xml new file mode 100644 index 00000000..ef50622d --- /dev/null +++ b/app/src/main/res/layout/dialog_web_view.xml @@ -0,0 +1,14 @@ + +