diff --git a/app/src/main/java/com/dkanada/gramophone/fragments/player/AbsPlayerFragment.java b/app/src/main/java/com/dkanada/gramophone/fragments/player/AbsPlayerFragment.java
index 980c841e..009e806b 100644
--- a/app/src/main/java/com/dkanada/gramophone/fragments/player/AbsPlayerFragment.java
+++ b/app/src/main/java/com/dkanada/gramophone/fragments/player/AbsPlayerFragment.java
@@ -4,6 +4,7 @@ import android.content.Context;
import android.view.MenuItem;
import android.view.View;
+import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.widget.Toolbar;
@@ -28,7 +29,7 @@ public abstract class AbsPlayerFragment extends AbsMusicServiceFragment implemen
private Callbacks callbacks;
@Override
- public void onAttach(Context context) {
+ public void onAttach(@NonNull Context context) {
super.onAttach(context);
try {
callbacks = (Callbacks) context;
diff --git a/app/src/main/java/com/dkanada/gramophone/fragments/player/PlayerAlbumCoverFragment.java b/app/src/main/java/com/dkanada/gramophone/fragments/player/PlayerAlbumCoverFragment.java
index d89b1673..431e8cb5 100644
--- a/app/src/main/java/com/dkanada/gramophone/fragments/player/PlayerAlbumCoverFragment.java
+++ b/app/src/main/java/com/dkanada/gramophone/fragments/player/PlayerAlbumCoverFragment.java
@@ -50,6 +50,7 @@ public class PlayerAlbumCoverFragment extends AbsMusicServiceFragment implements
callbacks.onToolbarToggled();
return true;
}
+
return super.onSingleTapConfirmed(e);
}
});
@@ -122,8 +123,8 @@ public class PlayerAlbumCoverFragment extends AbsMusicServiceFragment implements
binding.playerFavoriteIcon.setScaleX(0f);
binding.playerFavoriteIcon.setScaleY(0f);
binding.playerFavoriteIcon.setVisibility(View.VISIBLE);
- binding.playerFavoriteIcon.setPivotX(binding.playerFavoriteIcon.getWidth() / 2);
- binding.playerFavoriteIcon.setPivotY(binding.playerFavoriteIcon.getHeight() / 2);
+ binding.playerFavoriteIcon.setPivotX(binding.playerFavoriteIcon.getWidth() / 2f);
+ binding.playerFavoriteIcon.setPivotY(binding.playerFavoriteIcon.getHeight() / 2f);
binding.playerFavoriteIcon.animate()
.setDuration(ViewUtil.PHONOGRAPH_ANIM_TIME / 2)
diff --git a/app/src/main/java/com/dkanada/gramophone/fragments/player/card/CardPlayerPlaybackControlsFragment.java b/app/src/main/java/com/dkanada/gramophone/fragments/player/card/CardPlayerPlaybackControlsFragment.java
index 52df303b..5bd29117 100644
--- a/app/src/main/java/com/dkanada/gramophone/fragments/player/card/CardPlayerPlaybackControlsFragment.java
+++ b/app/src/main/java/com/dkanada/gramophone/fragments/player/card/CardPlayerPlaybackControlsFragment.java
@@ -51,7 +51,7 @@ public class CardPlayerPlaybackControlsFragment extends AbsMusicServiceFragment
}
@Override
- public void onViewCreated(View view, Bundle savedInstanceState) {
+ public void onViewCreated(@NonNull View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
setUpMusicControllers();
updateProgressTextColor();
@@ -98,11 +98,11 @@ public class CardPlayerPlaybackControlsFragment extends AbsMusicServiceFragment
public void setDark(boolean dark) {
if (dark) {
- lastPlaybackControlsColor = MaterialValueHelper.getSecondaryTextColor(getActivity(), true);
- lastDisabledPlaybackControlsColor = MaterialValueHelper.getSecondaryDisabledTextColor(getActivity(), true);
+ lastPlaybackControlsColor = MaterialValueHelper.getSecondaryTextColor(requireActivity(), true);
+ lastDisabledPlaybackControlsColor = MaterialValueHelper.getSecondaryDisabledTextColor(requireActivity(), true);
} else {
- lastPlaybackControlsColor = MaterialValueHelper.getPrimaryTextColor(getActivity(), false);
- lastDisabledPlaybackControlsColor = MaterialValueHelper.getPrimaryDisabledTextColor(getActivity(), false);
+ lastPlaybackControlsColor = MaterialValueHelper.getPrimaryTextColor(requireActivity(), false);
+ lastDisabledPlaybackControlsColor = MaterialValueHelper.getPrimaryDisabledTextColor(requireActivity(), false);
}
updateRepeatState();
@@ -115,16 +115,14 @@ public class CardPlayerPlaybackControlsFragment extends AbsMusicServiceFragment
final int fabColor = Color.WHITE;
TintHelper.setTintAuto(binding.playerPlayPauseFab, fabColor, true);
- playerFabPlayPauseDrawable = new PlayPauseDrawable(getActivity());
+ playerFabPlayPauseDrawable = new PlayPauseDrawable(requireActivity());
binding.playerPlayPauseFab.setImageDrawable(playerFabPlayPauseDrawable); // Note: set the drawable AFTER TintHelper.setTintAuto() was called
- binding.playerPlayPauseFab.setColorFilter(MaterialValueHelper.getPrimaryTextColor(getContext(), ColorUtil.isColorLight(fabColor)), PorterDuff.Mode.SRC_IN);
+ binding.playerPlayPauseFab.setColorFilter(MaterialValueHelper.getPrimaryTextColor(requireContext(), ColorUtil.isColorLight(fabColor)), PorterDuff.Mode.SRC_IN);
binding.playerPlayPauseFab.setOnClickListener(new PlayPauseButtonOnClickHandler());
binding.playerPlayPauseFab.post(() -> {
- if (binding.playerPlayPauseFab != null) {
- binding.playerPlayPauseFab.setPivotX(binding.playerPlayPauseFab.getWidth() / 2);
- binding.playerPlayPauseFab.setPivotY(binding.playerPlayPauseFab.getHeight() / 2);
- }
+ binding.playerPlayPauseFab.setPivotX(binding.playerPlayPauseFab.getWidth() / 2f);
+ binding.playerPlayPauseFab.setPivotY(binding.playerPlayPauseFab.getHeight() / 2f);
});
}
@@ -156,7 +154,7 @@ public class CardPlayerPlaybackControlsFragment extends AbsMusicServiceFragment
}
private void updateProgressTextColor() {
- int color = MaterialValueHelper.getPrimaryTextColor(getContext(), false);
+ int color = MaterialValueHelper.getPrimaryTextColor(requireContext(), false);
binding.playerSongTotalTime.setTextColor(color);
binding.playerSongCurrentProgress.setTextColor(color);
}
@@ -218,7 +216,7 @@ public class CardPlayerPlaybackControlsFragment extends AbsMusicServiceFragment
}
private void setUpProgressSlider() {
- int color = MaterialValueHelper.getPrimaryTextColor(getContext(), false);
+ int color = MaterialValueHelper.getPrimaryTextColor(requireContext(), false);
binding.playerProgressSlider.getThumb().mutate().setColorFilter(color, PorterDuff.Mode.SRC_IN);
binding.playerProgressSlider.getProgressDrawable().mutate().setColorFilter(Color.TRANSPARENT, PorterDuff.Mode.SRC_IN);
diff --git a/app/src/main/java/com/dkanada/gramophone/fragments/player/flat/FlatPlayerPlaybackControlsFragment.java b/app/src/main/java/com/dkanada/gramophone/fragments/player/flat/FlatPlayerPlaybackControlsFragment.java
index 2a7fee35..c9865984 100644
--- a/app/src/main/java/com/dkanada/gramophone/fragments/player/flat/FlatPlayerPlaybackControlsFragment.java
+++ b/app/src/main/java/com/dkanada/gramophone/fragments/player/flat/FlatPlayerPlaybackControlsFragment.java
@@ -105,11 +105,11 @@ public class FlatPlayerPlaybackControlsFragment extends AbsMusicServiceFragment
public void setDark(boolean dark) {
if (dark) {
- lastPlaybackControlsColor = MaterialValueHelper.getSecondaryTextColor(getActivity(), true);
- lastDisabledPlaybackControlsColor = MaterialValueHelper.getSecondaryDisabledTextColor(getActivity(), true);
+ lastPlaybackControlsColor = MaterialValueHelper.getSecondaryTextColor(requireActivity(), true);
+ lastDisabledPlaybackControlsColor = MaterialValueHelper.getSecondaryDisabledTextColor(requireActivity(), true);
} else {
- lastPlaybackControlsColor = MaterialValueHelper.getPrimaryTextColor(getActivity(), false);
- lastDisabledPlaybackControlsColor = MaterialValueHelper.getPrimaryDisabledTextColor(getActivity(), false);
+ lastPlaybackControlsColor = MaterialValueHelper.getPrimaryTextColor(requireActivity(), false);
+ lastDisabledPlaybackControlsColor = MaterialValueHelper.getPrimaryDisabledTextColor(requireActivity(), false);
}
updateRepeatState();
@@ -120,13 +120,13 @@ public class FlatPlayerPlaybackControlsFragment extends AbsMusicServiceFragment
}
private void setUpPlayPauseButton() {
- playPauseDrawable = new PlayPauseDrawable(getActivity());
+ playPauseDrawable = new PlayPauseDrawable(requireActivity());
binding.playerPlayPauseButton.setImageDrawable(playPauseDrawable);
updatePlayPauseColor();
binding.playerPlayPauseButton.setOnClickListener(new PlayPauseButtonOnClickHandler());
binding.playerPlayPauseButton.post(() -> {
- binding.playerPlayPauseButton.setPivotX(binding.playerPlayPauseButton.getWidth() / 2);
- binding.playerPlayPauseButton.setPivotY(binding.playerPlayPauseButton.getHeight() / 2);
+ binding.playerPlayPauseButton.setPivotX(binding.playerPlayPauseButton.getWidth() / 2f);
+ binding.playerPlayPauseButton.setPivotY(binding.playerPlayPauseButton.getHeight() / 2f);
});
}
@@ -153,7 +153,7 @@ public class FlatPlayerPlaybackControlsFragment extends AbsMusicServiceFragment
}
private void updateProgressTextColor() {
- int color = MaterialValueHelper.getPrimaryTextColor(getContext(), false);
+ int color = MaterialValueHelper.getPrimaryTextColor(requireContext(), false);
binding.playerSongTotalTime.setTextColor(color);
binding.playerSongCurrentProgress.setTextColor(color);
}
@@ -222,6 +222,7 @@ public class FlatPlayerPlaybackControlsFragment extends AbsMusicServiceFragment
} else {
musicControllerAnimationSet.cancel();
}
+
musicControllerAnimationSet.start();
}
@@ -264,7 +265,7 @@ public class FlatPlayerPlaybackControlsFragment extends AbsMusicServiceFragment
}
private void setUpProgressSlider() {
- int color = MaterialValueHelper.getPrimaryTextColor(getContext(), false);
+ int color = MaterialValueHelper.getPrimaryTextColor(requireContext(), false);
binding.playerProgressSlider.getThumb().mutate().setColorFilter(color, PorterDuff.Mode.SRC_IN);
binding.playerProgressSlider.getProgressDrawable().mutate().setColorFilter(Color.TRANSPARENT, PorterDuff.Mode.SRC_IN);
@@ -283,6 +284,7 @@ public class FlatPlayerPlaybackControlsFragment extends AbsMusicServiceFragment
public void onUpdateProgressViews(int progress, int total) {
binding.playerProgressSlider.setMax(total);
binding.playerProgressSlider.setProgress(progress);
+
binding.playerSongTotalTime.setText(MusicUtil.getReadableDurationString(total));
binding.playerSongCurrentProgress.setText(MusicUtil.getReadableDurationString(progress));
}
diff --git a/app/src/main/java/com/dkanada/gramophone/glide/BlurTransformation.java b/app/src/main/java/com/dkanada/gramophone/glide/BlurTransformation.java
index a9ec36ee..97c608ae 100644
--- a/app/src/main/java/com/dkanada/gramophone/glide/BlurTransformation.java
+++ b/app/src/main/java/com/dkanada/gramophone/glide/BlurTransformation.java
@@ -21,9 +21,9 @@ import java.security.MessageDigest;
public class BlurTransformation extends BitmapTransformation {
public static final float DEFAULT_BLUR_RADIUS = 5f;
- private Context context;
- private float blurRadius;
- private int sampling;
+ private final Context context;
+ private final float blurRadius;
+ private final int sampling;
private BlurTransformation(Builder builder) {
super();
diff --git a/app/src/main/res/layout/activity_album_detail.xml b/app/src/main/res/layout/activity_album_detail.xml
index 1033de3d..e5a0d138 100644
--- a/app/src/main/res/layout/activity_album_detail.xml
+++ b/app/src/main/res/layout/activity_album_detail.xml
@@ -52,7 +52,7 @@
android:scaleType="centerCrop"
android:src="@drawable/default_album_art"
android:transitionName="@string/transition_album_image"
- tools:ignore="ContentDescription,UnusedAttribute" />
+ tools:ignore="ContentDescription" />
+ tools:ignore="ContentDescription" />
+ tools:ignore="ContentDescription" />
+ tools:ignore="ContentDescription" />
+ tools:ignore="ContentDescription" />
+ tools:ignore="ContentDescription" />
+ tools:ignore="ContentDescription" />
+ tools:ignore="ContentDescription" />
+ tools:ignore="ContentDescription" />
+ tools:ignore="ContentDescription" />
+ tools:text="1.0.0" />
@@ -88,6 +88,7 @@
android:layout_height="wrap_content"
android:background="?attr/rectSelector"
android:clickable="true"
+ android:focusable="true"
android:gravity="center_vertical"
android:minHeight="@dimen/md_listitem_height"
android:orientation="horizontal"
@@ -99,7 +100,7 @@
android:layout_width="24dp"
android:layout_height="24dp"
app:srcCompat="@drawable/ic_github_circle_white_24dp"
- tools:ignore="ContentDescription,UnusedAttribute" />
+ tools:ignore="ContentDescription" />
+ tools:ignore="ContentDescription" />
+ tools:ignore="ContentDescription" />
+ tools:ignore="ContentDescription" />
+ tools:ignore="ContentDescription" />
+ tools:ignore="ContentDescription" />
+ tools:ignore="ContentDescription" />
+ tools:ignore="ContentDescription" />
+ tools:ignore="ContentDescription" />
+ android:orientation="vertical">
+ tools:ignore="ContentDescription" />
diff --git a/app/src/main/res/layout/fragment_card_player_playback_controls.xml b/app/src/main/res/layout/fragment_card_player_playback_controls.xml
index 3d27383d..d5d15088 100644
--- a/app/src/main/res/layout/fragment_card_player_playback_controls.xml
+++ b/app/src/main/res/layout/fragment_card_player_playback_controls.xml
@@ -31,8 +31,8 @@
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:fontFamily="sans-serif-medium"
- android:gravity="center_vertical|left|end"
- android:paddingLeft="8dp"
+ android:gravity="center_vertical|start"
+ android:paddingStart="8dp"
android:singleLine="true"
android:textAppearance="@style/TextAppearance.AppCompat.Title"
android:textColor="?android:textColorSecondary"
@@ -47,8 +47,8 @@
android:layout_height="match_parent"
android:layout_alignParentEnd="true"
android:fontFamily="sans-serif-medium"
- android:gravity="center_vertical|right|end"
- android:paddingRight="8dp"
+ android:gravity="center_vertical|end"
+ android:paddingEnd="8dp"
android:singleLine="true"
android:textAppearance="@style/TextAppearance.AppCompat.Title"
android:textColor="?android:textColorSecondary"
@@ -72,7 +72,7 @@
android:layout_width="match_parent"
android:layout_height="@dimen/fab_media_controller_container_height"
android:layoutDirection="ltr"
- tools:ignore="ContentDescription,UnusedAttribute">
+ tools:ignore="ContentDescription">
+ app:srcCompat="@drawable/ic_skip_previous_white_24dp" />
+ app:srcCompat="@drawable/ic_skip_next_white_24dp" />
+ app:srcCompat="@drawable/ic_repeat_white_24dp" />
+ app:srcCompat="@drawable/ic_shuffle_white_24dp" />
+ tools:ignore="RtlSymmetry"
+ tools:text="4:00" />
+ android:layout_toEndOf="@id/player_song_current_progress" />
@@ -57,7 +56,7 @@
android:layout_width="match_parent"
android:layout_height="@dimen/media_controller_container_height"
android:layoutDirection="ltr"
- tools:ignore="ContentDescription,UnusedAttribute">
+ tools:ignore="ContentDescription">
+ app:srcCompat="@drawable/ic_skip_previous_white_24dp" />
+ app:srcCompat="@drawable/ic_skip_next_white_24dp" />
+ app:srcCompat="@drawable/ic_repeat_white_24dp" />
+ app:srcCompat="@drawable/ic_shuffle_white_24dp" />
diff --git a/app/src/main/res/layout/item_grid.xml b/app/src/main/res/layout/item_grid.xml
index f4917266..1ca49c7d 100644
--- a/app/src/main/res/layout/item_grid.xml
+++ b/app/src/main/res/layout/item_grid.xml
@@ -12,7 +12,7 @@
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
- tools:ignore="UnusedAttribute,UselessParent">
+ tools:ignore="UselessParent">
+ tools:ignore="ContentDescription" />
+ android:checkableBehavior="single">