v2.2.00
This commit is contained in:
parent
a531a1e723
commit
ca4e9e7ef0
194 changed files with 1286 additions and 2256 deletions
|
@ -134,28 +134,35 @@
|
|||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/check-libraries" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/check-manifest" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/checkNormalDebugClasspath" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/checkNormalReleaseClasspath" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/compatible_screen_manifest" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-classes" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-runtime-classes" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-verifier" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-apk" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-resources" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant_run_main_apk_resources" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant_run_merged_manifests" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant_run_split_apk_resources" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/javac" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/linked_res_for_bundle" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifest-checker" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/merged-not-compiled-resources" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/merged_assets" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/merged_manifests" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/module_bundle" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/prebuild" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/processed_res" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/proguard-rules" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/reload-dex" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/resources" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/shader_assets" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/shaders" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/shrunk_linked_res_for_bundle" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/split-apk" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/split_list" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
|
||||
|
|
|
@ -11,8 +11,8 @@ android {
|
|||
vectorDrawables.useSupportLibrary = true
|
||||
|
||||
applicationId "code.name.monkey.retromusic"
|
||||
versionCode 242
|
||||
versionName '2.1.000'
|
||||
versionCode 246
|
||||
versionName '2.2.000'
|
||||
|
||||
multiDexEnabled true
|
||||
|
||||
|
|
|
@ -1 +1 @@
|
|||
<html>
<head>
<style type="text/css">
* {
word-wrap: break-word;
}
{style-placeholder}
a {
color: #{link-color};
}
a:active {
color: #{link-color-active};
}
ol {
list-style-position: inside;
padding-left: 0;
padding-right: 0;
}
li {
padding-top: 8px;
}
</style>
</head>
<body>
<p>You can view the changelog dialog again at any time from the <i>about</i> section.</p>
<h3>Version 2.0.300</h3>
<ol>
<li><b>Fix:</b> offer dialog showing</li>
<li><b>Added:</b> zero volume pause</li>
<li><b>Added:</b> more album cover skipping styles</li>
<li><b>Added:</b> new animations(WIP)</li>
<li><b>Added:</b> more tab titles toggle</li>
<li><b>Improved:</b> home screen</li>
<li><b>Updated:</b> internal libraries</li>
</ol>
<p><a href="https://github.com/h4h13/RetroMusicPlayer/wiki/FAQ">FAQ's</a></p>
<p>*If you face any UI related issues you clear app data and cache, if its not working try to
uninstall and install again. </p>
</body>
|
||||
<html>
<head>
<style type="text/css">
* {
word-wrap: break-word;
}
{style-placeholder}
a {
color: #{link-color};
}
a:active {
color: #{link-color-active};
}
ul {
list-style-position: outside;
padding-left: 0;
padding-right: 0;
margin-left: 1em;
}
li {
padding-top: 8px;
}
</style>
</head>
<body>
<p style="line-height:150%">You can view the changelog dialog again at any time from the <i>about</i> section.</p>
<h3>Version 2.2.00</h3>
<ul style="line-height:150%">
<li>Sorry for late update, Bottom navigation bar again at the bottom because it should according to Android Material Design guideline.</li>
<li>BottomSheetDialogue is now adaptable to screens, background colour and text size consistency.</li>
<li>Removed coloured navigation bar option to making app adapt the primary colour</li>
<li>Swipe up gesture for now playing removed, replaced with "tap to open", To achieve transparent navigation bar for desired themes.</li>
<li>Improved tablet UI and home screen by adding suggestions toggle banner issues.</li>
<li>Improving lyrics page</li>
</ul>
<p style="line-height:150%"><a href="https://github.com/h4h13/RetroMusicPlayer/wiki/FAQ">FAQ's</a></p>
<p style="line-height:150%">*If you face any UI related issues you clear app data and cache, if its not working try to
uninstall and install again. </p>
</body>
|
|
@ -55,9 +55,10 @@ public class RetroApplication extends MultiDexApplication {
|
|||
setupErrorHandler();
|
||||
|
||||
// default theme
|
||||
if (!ThemeStore.isConfigured(this, 1)) {
|
||||
if (!ThemeStore.isConfigured(this, 3)) {
|
||||
ThemeStore.editTheme(this)
|
||||
.accentColorRes(R.color.md_green_A200)
|
||||
.coloredNavigationBar(true)
|
||||
.commit();
|
||||
}
|
||||
|
||||
|
|
|
@ -93,9 +93,6 @@ public final class SortOrder {
|
|||
|
||||
/* Song sort order date */
|
||||
String SONG_DATE = MediaStore.Audio.Media.DATE_ADDED + " DESC";
|
||||
|
||||
/* Song sort order date */
|
||||
String COMPOSER = MediaStore.Audio.Media.COMPOSER;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -48,9 +48,7 @@ public class GenreSongsLoader {
|
|||
final String albumName = cursor.getString(8);
|
||||
final int artistId = cursor.getInt(9);
|
||||
final String artistName = cursor.getString(10);
|
||||
final String composer = cursor.getString(11);
|
||||
|
||||
return new Song(id, title, trackNumber, year, duration, data, dateModified, albumId, albumName, artistId, artistName, composer);
|
||||
return new Song(id, title, trackNumber, year, duration, data, dateModified, albumId, albumName, artistId, artistName);
|
||||
}
|
||||
|
||||
private static Cursor makeGenreSongCursor(Context context, long genreId) {
|
||||
|
@ -69,7 +67,6 @@ public class GenreSongsLoader {
|
|||
AudioColumns.ALBUM,// 8
|
||||
AudioColumns.ARTIST_ID,// 9
|
||||
AudioColumns.ARTIST,// 10
|
||||
AudioColumns.COMPOSER,// 11
|
||||
}, SongLoader.BASE_SELECTION, null,
|
||||
MediaStore.Audio.Genres.Members.DEFAULT_SORT_ORDER);
|
||||
} catch (SecurityException e) {
|
||||
|
|
|
@ -64,9 +64,8 @@ public class PlaylistSongsLoader {
|
|||
final int artistId = cursor.getInt(9);
|
||||
final String artistName = cursor.getString(10);
|
||||
final int idInPlaylist = cursor.getInt(11);
|
||||
final String composer = cursor.getString(12);
|
||||
|
||||
return new PlaylistSong(id, title, trackNumber, year, duration, data, dateModified, albumId, albumName, artistId, artistName, playlistId, idInPlaylist, composer);
|
||||
return new PlaylistSong(id, title, trackNumber, year, duration, data, dateModified, albumId, albumName, artistId, artistName, playlistId, idInPlaylist);
|
||||
}
|
||||
|
||||
private static Cursor makePlaylistSongCursor(@NonNull final Context context, final int playlistId) {
|
||||
|
@ -85,8 +84,7 @@ public class PlaylistSongsLoader {
|
|||
AudioColumns.ALBUM,// 8
|
||||
AudioColumns.ARTIST_ID,// 9
|
||||
AudioColumns.ARTIST,// 10
|
||||
MediaStore.Audio.Playlists.Members._ID, // 11
|
||||
AudioColumns.COMPOSER,// 12
|
||||
MediaStore.Audio.Playlists.Members._ID, // 11
|
||||
}, SongLoader.BASE_SELECTION, null,
|
||||
MediaStore.Audio.Playlists.Members.DEFAULT_SORT_ORDER);
|
||||
} catch (SecurityException e) {
|
||||
|
|
|
@ -38,7 +38,6 @@ public class SongLoader {
|
|||
AudioColumns.ALBUM,// 8
|
||||
AudioColumns.ARTIST_ID,// 9
|
||||
AudioColumns.ARTIST,// 10
|
||||
AudioColumns.COMPOSER,// 11
|
||||
};
|
||||
|
||||
@NonNull
|
||||
|
@ -86,10 +85,9 @@ public class SongLoader {
|
|||
final String albumName = cursor.getString(8);
|
||||
final int artistId = cursor.getInt(9);
|
||||
final String artistName = cursor.getString(10);
|
||||
final String composer = cursor.getString(11);
|
||||
|
||||
return new Song(id, title, trackNumber, year, duration, data, dateModified, albumId, albumName,
|
||||
artistId, artistName, composer);
|
||||
artistId, artistName);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
|
@ -175,8 +173,8 @@ public class SongLoader {
|
|||
.flatMap((Function<ArrayList<Song>, ObservableSource<ArrayList<Song>>>) songs -> {
|
||||
ArrayList<Song> list = new ArrayList<>();
|
||||
ShuffleHelper.makeShuffleList(songs, -1);
|
||||
if (songs.size() > 10) {
|
||||
list.addAll(songs.subList(0, 10));
|
||||
if (songs.size() > 9) {
|
||||
list.addAll(songs.subList(0, 9));
|
||||
}
|
||||
return Observable.just(list);
|
||||
});
|
||||
|
|
|
@ -4,7 +4,6 @@ import android.os.Parcel;
|
|||
import android.os.Parcelable;
|
||||
|
||||
public class PlaylistSong extends Song {
|
||||
public static final PlaylistSong EMPTY_PLAYLIST_SONG = new PlaylistSong(-1, "", -1, -1, -1, "", -1, -1, "", -1, "", -1, -1, "");
|
||||
public static final Parcelable.Creator<PlaylistSong> CREATOR = new Parcelable.Creator<PlaylistSong>() {
|
||||
public PlaylistSong createFromParcel(Parcel source) {
|
||||
return new PlaylistSong(source);
|
||||
|
@ -17,8 +16,8 @@ public class PlaylistSong extends Song {
|
|||
public final int playlistId;
|
||||
public final int idInPlayList;
|
||||
|
||||
public PlaylistSong(int id, String title, int trackNumber, int year, long duration, String data, int dateModified, int albumId, String albumName, int artistId, String artistName, final int playlistId, final int idInPlayList, final String composer) {
|
||||
super(id, title, trackNumber, year, duration, data, dateModified, albumId, albumName, artistId, artistName, composer);
|
||||
public PlaylistSong(int id, String title, int trackNumber, int year, long duration, String data, int dateModified, int albumId, String albumName, int artistId, String artistName, final int playlistId, final int idInPlayList) {
|
||||
super(id, title, trackNumber, year, duration, data, dateModified, albumId, albumName, artistId, artistName);
|
||||
this.playlistId = playlistId;
|
||||
this.idInPlayList = idInPlayList;
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@ import android.os.Parcelable;
|
|||
|
||||
|
||||
public class Song implements Parcelable {
|
||||
public static final Song EMPTY_SONG = new Song(-1, "", -1, -1, -1, "", -1, -1, "", -1, "", "");
|
||||
public static final Song EMPTY_SONG = new Song(-1, "", -1, -1, -1, "", -1, -1, "", -1, "");
|
||||
public static final Creator<Song> CREATOR = new Creator<Song>() {
|
||||
public Song createFromParcel(Parcel source) {
|
||||
return new Song(source);
|
||||
|
@ -26,9 +26,8 @@ public class Song implements Parcelable {
|
|||
public final String albumName;
|
||||
public final int artistId;
|
||||
public final String artistName;
|
||||
public final String composer;
|
||||
|
||||
public Song(int id, String title, int trackNumber, int year, long duration, String data, long dateModified, int albumId, String albumName, int artistId, String artistName, String composer) {
|
||||
public Song(int id, String title, int trackNumber, int year, long duration, String data, long dateModified, int albumId, String albumName, int artistId, String artistName) {
|
||||
this.id = id;
|
||||
this.title = title;
|
||||
this.trackNumber = trackNumber;
|
||||
|
@ -40,7 +39,6 @@ public class Song implements Parcelable {
|
|||
this.albumName = albumName;
|
||||
this.artistId = artistId;
|
||||
this.artistName = artistName;
|
||||
this.composer = composer;
|
||||
}
|
||||
|
||||
protected Song(Parcel in) {
|
||||
|
@ -55,64 +53,6 @@ public class Song implements Parcelable {
|
|||
this.albumName = in.readString();
|
||||
this.artistId = in.readInt();
|
||||
this.artistName = in.readString();
|
||||
this.composer = in.readString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (o == null || getClass() != o.getClass()) return false;
|
||||
|
||||
Song song = (Song) o;
|
||||
|
||||
if (id != song.id) return false;
|
||||
if (trackNumber != song.trackNumber) return false;
|
||||
if (year != song.year) return false;
|
||||
if (duration != song.duration) return false;
|
||||
if (dateModified != song.dateModified) return false;
|
||||
if (albumId != song.albumId) return false;
|
||||
if (artistId != song.artistId) return false;
|
||||
if (title != null ? !title.equals(song.title) : song.title != null) return false;
|
||||
if (data != null ? !data.equals(song.data) : song.data != null) return false;
|
||||
if (albumName != null ? !albumName.equals(song.albumName) : song.albumName != null)
|
||||
return false;
|
||||
return artistName != null ? artistName.equals(song.artistName) : song.artistName == null;
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int result = id;
|
||||
result = 31 * result + (title != null ? title.hashCode() : 0);
|
||||
result = 31 * result + trackNumber;
|
||||
result = 31 * result + year;
|
||||
result = 31 * result + (int) (duration ^ (duration >>> 32));
|
||||
result = 31 * result + (data != null ? data.hashCode() : 0);
|
||||
result = 31 * result + (int) (dateModified ^ (dateModified >>> 32));
|
||||
result = 31 * result + albumId;
|
||||
result = 31 * result + (albumName != null ? albumName.hashCode() : 0);
|
||||
result = 31 * result + artistId;
|
||||
result = 31 * result + (artistName != null ? artistName.hashCode() : 0);
|
||||
result = 31 * result + (composer != null ? composer.hashCode() : 0);
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Song{" +
|
||||
"id=" + id +
|
||||
", title='" + title + '\'' +
|
||||
", trackNumber=" + trackNumber +
|
||||
", year=" + year +
|
||||
", duration=" + duration +
|
||||
", data='" + data + '\'' +
|
||||
", dateModified=" + dateModified +
|
||||
", albumId=" + albumId +
|
||||
", albumName='" + albumName + '\'' +
|
||||
", artistId=" + artistId +
|
||||
", artistName='" + artistName + '\'' +
|
||||
", composer='" + composer + '\'' +
|
||||
'}';
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -133,6 +73,5 @@ public class Song implements Parcelable {
|
|||
dest.writeString(this.albumName);
|
||||
dest.writeInt(this.artistId);
|
||||
dest.writeString(this.artistName);
|
||||
dest.writeString(this.composer);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,18 +7,18 @@ import android.database.Cursor;
|
|||
import android.database.sqlite.SQLiteDatabase;
|
||||
import android.database.sqlite.SQLiteOpenHelper;
|
||||
import android.os.Environment;
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import code.name.monkey.retromusic.Constants;
|
||||
import code.name.monkey.retromusic.util.FileUtil;
|
||||
import code.name.monkey.retromusic.util.PreferenceUtil;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import code.name.monkey.retromusic.Constants;
|
||||
import code.name.monkey.retromusic.util.FileUtil;
|
||||
import code.name.monkey.retromusic.util.PreferenceUtil;
|
||||
|
||||
public class BlacklistStore extends SQLiteOpenHelper {
|
||||
public static final String DATABASE_NAME = "blacklist.db";
|
||||
private static final int VERSION = 1;
|
||||
private static final int VERSION = 2;
|
||||
private static BlacklistStore sInstance = null;
|
||||
private Context context;
|
||||
|
||||
|
@ -45,8 +45,7 @@ public class BlacklistStore extends SQLiteOpenHelper {
|
|||
|
||||
@Override
|
||||
public void onCreate(@NonNull final SQLiteDatabase db) {
|
||||
db.execSQL("CREATE TABLE IF NOT EXISTS " + BlacklistStoreColumns.NAME + " ("
|
||||
+ BlacklistStoreColumns.PATH + " STRING NOT NULL);");
|
||||
db.execSQL("CREATE TABLE IF NOT EXISTS " + BlacklistStoreColumns.NAME + " (" + BlacklistStoreColumns.PATH + " STRING NOT NULL);");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -41,7 +41,7 @@ public class MusicPlaybackQueueStore extends SQLiteOpenHelper {
|
|||
public static final String DATABASE_NAME = "music_playback_state.db";
|
||||
public static final String PLAYING_QUEUE_TABLE_NAME = "playing_queue";
|
||||
public static final String ORIGINAL_PLAYING_QUEUE_TABLE_NAME = "original_playing_queue";
|
||||
private static final int VERSION = 4;
|
||||
private static final int VERSION = 5;
|
||||
@Nullable
|
||||
private static MusicPlaybackQueueStore sInstance = null;
|
||||
|
||||
|
@ -110,9 +110,6 @@ public class MusicPlaybackQueueStore extends SQLiteOpenHelper {
|
|||
builder.append(" INT NOT NULL,");
|
||||
|
||||
builder.append(AudioColumns.ARTIST);
|
||||
builder.append(" STRING NOT NULL,");
|
||||
|
||||
builder.append(AudioColumns.COMPOSER);
|
||||
builder.append(" STRING NOT NULL);");
|
||||
|
||||
db.execSQL(builder.toString());
|
||||
|
@ -176,7 +173,6 @@ public class MusicPlaybackQueueStore extends SQLiteOpenHelper {
|
|||
values.put(AudioColumns.ALBUM, song.albumName);
|
||||
values.put(AudioColumns.ARTIST_ID, song.artistId);
|
||||
values.put(AudioColumns.ARTIST, song.artistName);
|
||||
values.put(AudioColumns.COMPOSER, song.composer);
|
||||
|
||||
database.insert(tableName, null, values);
|
||||
}
|
||||
|
|
|
@ -32,7 +32,7 @@ import android.view.animation.Interpolator;
|
|||
*/
|
||||
public class SongPlayCountStore extends SQLiteOpenHelper {
|
||||
public static final String DATABASE_NAME = "song_play_count.db";
|
||||
private static final int VERSION = 2;
|
||||
private static final int VERSION = 3;
|
||||
// how many weeks worth of playback to track
|
||||
private static final int NUM_WEEKS = 52;
|
||||
@Nullable
|
||||
|
|
|
@ -17,7 +17,6 @@ import android.widget.TextView;
|
|||
import com.bumptech.glide.Glide;
|
||||
import com.google.android.material.appbar.AppBarLayout;
|
||||
import com.google.android.material.appbar.CollapsingToolbarLayout;
|
||||
import com.google.android.material.button.MaterialButton;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
|
@ -27,6 +26,7 @@ import androidx.appcompat.widget.AppCompatTextView;
|
|||
import androidx.appcompat.widget.Toolbar;
|
||||
import androidx.core.app.ActivityCompat;
|
||||
import androidx.core.util.Pair;
|
||||
import androidx.core.widget.NestedScrollView;
|
||||
import androidx.recyclerview.widget.DefaultItemAnimator;
|
||||
import androidx.recyclerview.widget.GridLayoutManager;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
|
@ -36,7 +36,6 @@ import butterknife.ButterKnife;
|
|||
import butterknife.OnClick;
|
||||
import code.name.monkey.appthemehelper.ThemeStore;
|
||||
import code.name.monkey.appthemehelper.util.ColorUtil;
|
||||
import code.name.monkey.appthemehelper.util.MaterialUtil;
|
||||
import code.name.monkey.appthemehelper.util.TintHelper;
|
||||
import code.name.monkey.appthemehelper.util.ToolbarContentTintHelper;
|
||||
import code.name.monkey.retromusic.R;
|
||||
|
@ -63,12 +62,14 @@ import code.name.monkey.retromusic.util.MusicUtil;
|
|||
import code.name.monkey.retromusic.util.NavigationUtil;
|
||||
import code.name.monkey.retromusic.util.PreferenceUtil;
|
||||
import code.name.monkey.retromusic.util.RetroUtil;
|
||||
import code.name.monkey.retromusic.views.CollapsingFAB;
|
||||
|
||||
public class AlbumDetailsActivity extends AbsSlidingMusicPanelActivity implements
|
||||
AlbumDetailsContract.AlbumDetailsView {
|
||||
|
||||
public static final String EXTRA_ALBUM_ID = "extra_album_id";
|
||||
private static final int TAG_EDITOR_REQUEST = 2001;
|
||||
|
||||
@BindView(R.id.image)
|
||||
ImageView image;
|
||||
|
||||
|
@ -85,7 +86,7 @@ public class AlbumDetailsActivity extends AbsSlidingMusicPanelActivity implement
|
|||
AppCompatTextView songTitle;
|
||||
|
||||
@BindView(R.id.action_shuffle_all)
|
||||
MaterialButton shuffleButton;
|
||||
CollapsingFAB shuffleButton;
|
||||
|
||||
@BindView(R.id.collapsing_toolbar)
|
||||
@Nullable
|
||||
|
@ -96,7 +97,7 @@ public class AlbumDetailsActivity extends AbsSlidingMusicPanelActivity implement
|
|||
AppBarLayout appBarLayout;
|
||||
|
||||
@BindView(R.id.content)
|
||||
View contentContainer;
|
||||
NestedScrollView contentContainer;
|
||||
|
||||
@BindView(R.id.toolbar)
|
||||
Toolbar toolbar;
|
||||
|
@ -141,16 +142,32 @@ public class AlbumDetailsActivity extends AbsSlidingMusicPanelActivity implement
|
|||
|
||||
ActivityCompat.postponeEnterTransition(this);
|
||||
|
||||
int albumId = getIntent().getIntExtra(EXTRA_ALBUM_ID, -1);
|
||||
albumDetailsPresenter = new AlbumDetailsPresenter(this, albumId);
|
||||
albumDetailsPresenter.subscribe();
|
||||
|
||||
setupRecyclerView();
|
||||
setupToolbarMarginHeight();
|
||||
|
||||
contentContainer.setOnScrollChangeListener((NestedScrollView.OnScrollChangeListener) (v, scrollX, scrollY, oldScrollX, oldScrollY) -> {
|
||||
if (scrollY > oldScrollY) {
|
||||
shuffleButton.setShowTitle(false);
|
||||
}
|
||||
if (scrollY < oldScrollY) {
|
||||
shuffleButton.setShowTitle(true);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void setupRecyclerView() {
|
||||
adapter = new SimpleSongAdapter(this, new ArrayList<>(), R.layout.item_song);
|
||||
recyclerView.setLayoutManager(new LinearLayoutManager(this));
|
||||
recyclerView.setItemAnimator(new DefaultItemAnimator());
|
||||
recyclerView.setNestedScrollingEnabled(false);
|
||||
recyclerView.setAdapter(adapter);
|
||||
|
||||
setupToolbarMarginHeight();
|
||||
|
||||
int albumId = getIntent().getIntExtra(EXTRA_ALBUM_ID, -1);
|
||||
albumDetailsPresenter = new AlbumDetailsPresenter(this, albumId);
|
||||
}
|
||||
|
||||
private void setupToolbarMarginHeight() {
|
||||
|
@ -213,12 +230,6 @@ public class AlbumDetailsActivity extends AbsSlidingMusicPanelActivity implement
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
albumDetailsPresenter.subscribe();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPause() {
|
||||
super.onPause();
|
||||
|
@ -287,8 +298,6 @@ public class AlbumDetailsActivity extends AbsSlidingMusicPanelActivity implement
|
|||
AlbumAdapter albumAdapter = new HorizontalAlbumAdapter(this, albums, false, null);
|
||||
moreRecyclerView.setLayoutManager(new GridLayoutManager(this, 1, GridLayoutManager.HORIZONTAL, false));
|
||||
moreRecyclerView.setAdapter(albumAdapter);
|
||||
|
||||
ActivityCompat.startPostponedEnterTransition(this);
|
||||
}
|
||||
|
||||
public Album getAlbum() {
|
||||
|
@ -314,8 +323,7 @@ public class AlbumDetailsActivity extends AbsSlidingMusicPanelActivity implement
|
|||
songTitle.setTextColor(themeColor);
|
||||
moreTitle.setTextColor(themeColor);
|
||||
|
||||
MaterialUtil.setTint(shuffleButton, true, themeColor);
|
||||
//findViewById(R.id.root).setBackgroundColor(ThemeStore.primaryColor(this));
|
||||
shuffleButton.setColor(themeColor);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -21,7 +21,6 @@ import android.widget.Toast;
|
|||
import com.bumptech.glide.Glide;
|
||||
import com.google.android.material.appbar.AppBarLayout;
|
||||
import com.google.android.material.appbar.CollapsingToolbarLayout;
|
||||
import com.google.android.material.button.MaterialButton;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Locale;
|
||||
|
@ -31,6 +30,7 @@ import androidx.annotation.Nullable;
|
|||
import androidx.appcompat.widget.AppCompatTextView;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import androidx.core.app.ActivityCompat;
|
||||
import androidx.core.widget.NestedScrollView;
|
||||
import androidx.recyclerview.widget.DefaultItemAnimator;
|
||||
import androidx.recyclerview.widget.GridLayoutManager;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
|
@ -40,7 +40,6 @@ import butterknife.ButterKnife;
|
|||
import butterknife.OnClick;
|
||||
import code.name.monkey.appthemehelper.ThemeStore;
|
||||
import code.name.monkey.appthemehelper.util.ColorUtil;
|
||||
import code.name.monkey.appthemehelper.util.MaterialUtil;
|
||||
import code.name.monkey.appthemehelper.util.TintHelper;
|
||||
import code.name.monkey.appthemehelper.util.ToolbarContentTintHelper;
|
||||
import code.name.monkey.retromusic.R;
|
||||
|
@ -64,6 +63,7 @@ import code.name.monkey.retromusic.util.DensityUtil;
|
|||
import code.name.monkey.retromusic.util.MusicUtil;
|
||||
import code.name.monkey.retromusic.util.PreferenceUtil;
|
||||
import code.name.monkey.retromusic.util.RetroUtil;
|
||||
import code.name.monkey.retromusic.views.CollapsingFAB;
|
||||
import retrofit2.Call;
|
||||
import retrofit2.Callback;
|
||||
import retrofit2.Response;
|
||||
|
@ -109,7 +109,7 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement
|
|||
TextView text;
|
||||
|
||||
@BindView(R.id.action_shuffle_all)
|
||||
MaterialButton shuffleButton;
|
||||
CollapsingFAB shuffleButton;
|
||||
|
||||
@BindView(R.id.gradient_background)
|
||||
@Nullable
|
||||
|
@ -120,7 +120,7 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement
|
|||
View imageContainer;
|
||||
|
||||
@BindView(R.id.content)
|
||||
View contentContainer;
|
||||
NestedScrollView contentContainer;
|
||||
|
||||
@BindView(R.id.toolbar)
|
||||
Toolbar toolbar;
|
||||
|
@ -167,6 +167,15 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement
|
|||
|
||||
artistDetailsPresenter = new ArtistDetailsPresenter(this, getIntent().getExtras());
|
||||
artistDetailsPresenter.subscribe();
|
||||
|
||||
contentContainer.setOnScrollChangeListener((NestedScrollView.OnScrollChangeListener) (v, scrollX, scrollY, oldScrollX, oldScrollY) -> {
|
||||
if (scrollY > oldScrollY) {
|
||||
shuffleButton.setShowTitle(false);
|
||||
}
|
||||
if (scrollY < oldScrollY) {
|
||||
shuffleButton.setShowTitle(true);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void setUpViews() {
|
||||
|
@ -257,12 +266,6 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPause() {
|
||||
super.onPause();
|
||||
|
@ -383,7 +386,7 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement
|
|||
songTitle.setTextColor(textColor);
|
||||
biographyTitle.setTextColor(textColor);
|
||||
|
||||
MaterialUtil.setTint(shuffleButton, true, textColor);
|
||||
shuffleButton.setColor(textColor);
|
||||
|
||||
if (background != null) {
|
||||
background.setBackgroundTintList(ColorStateList.valueOf(color));
|
||||
|
|
|
@ -4,14 +4,11 @@ import android.os.Bundle;
|
|||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.animation.AccelerateInterpolator;
|
||||
import android.view.animation.DecelerateInterpolator;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.afollestad.materialcab.MaterialCab;
|
||||
import com.google.android.material.appbar.AppBarLayout;
|
||||
import com.google.android.material.floatingactionbutton.FloatingActionButton;
|
||||
import com.simplecityapps.recyclerview_fastscroll.views.FastScrollRecyclerView;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
@ -25,7 +22,6 @@ import butterknife.BindView;
|
|||
import butterknife.ButterKnife;
|
||||
import butterknife.OnClick;
|
||||
import code.name.monkey.appthemehelper.ThemeStore;
|
||||
import code.name.monkey.appthemehelper.util.TintHelper;
|
||||
import code.name.monkey.appthemehelper.util.ToolbarContentTintHelper;
|
||||
import code.name.monkey.retromusic.R;
|
||||
import code.name.monkey.retromusic.helper.MusicPlayerRemote;
|
||||
|
@ -39,6 +35,7 @@ import code.name.monkey.retromusic.ui.activities.base.AbsSlidingMusicPanelActivi
|
|||
import code.name.monkey.retromusic.ui.adapter.song.SongAdapter;
|
||||
import code.name.monkey.retromusic.util.RetroColorUtil;
|
||||
import code.name.monkey.retromusic.util.ViewUtil;
|
||||
import code.name.monkey.retromusic.views.CollapsingFAB;
|
||||
|
||||
/**
|
||||
* @author Hemanth S (h4h13).
|
||||
|
@ -57,7 +54,7 @@ public class GenreDetailsActivity extends AbsSlidingMusicPanelActivity implement
|
|||
TextView empty;
|
||||
|
||||
@BindView(R.id.action_shuffle)
|
||||
FloatingActionButton shuffleButton;
|
||||
CollapsingFAB shuffleButton;
|
||||
|
||||
@BindView(R.id.progress_bar)
|
||||
ProgressBar progressBar;
|
||||
|
@ -85,7 +82,6 @@ public class GenreDetailsActivity extends AbsSlidingMusicPanelActivity implement
|
|||
super.onCreate(savedInstanceState);
|
||||
ButterKnife.bind(this);
|
||||
|
||||
setStatusbarColorAuto();
|
||||
setNavigationbarColorAuto();
|
||||
setTaskDescriptionColorAuto();
|
||||
toggleBottomNavigationView(true);
|
||||
|
@ -119,7 +115,7 @@ public class GenreDetailsActivity extends AbsSlidingMusicPanelActivity implement
|
|||
ToolbarContentTintHelper.colorBackButton(toolbar, ThemeStore.accentColor(this));
|
||||
setTitle(null);
|
||||
setSupportActionBar(toolbar);
|
||||
TintHelper.setTintAuto(shuffleButton, ThemeStore.accentColor(this), true);
|
||||
shuffleButton.setColor(ThemeStore.accentColor(this));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -172,11 +168,21 @@ public class GenreDetailsActivity extends AbsSlidingMusicPanelActivity implement
|
|||
private void setupRecyclerView() {
|
||||
ViewUtil.setUpFastScrollRecyclerViewColor(this,
|
||||
((FastScrollRecyclerView) recyclerView), ThemeStore.accentColor(this));
|
||||
songAdapter = new SongAdapter(this, new ArrayList<Song>(), R.layout.item_list, false, this);
|
||||
songAdapter = new SongAdapter(this, new ArrayList<>(), R.layout.item_list, false, this);
|
||||
recyclerView.setItemAnimator(new DefaultItemAnimator());
|
||||
recyclerView.setLayoutManager(new LinearLayoutManager(this));
|
||||
recyclerView.setAdapter(songAdapter);
|
||||
|
||||
recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
|
||||
@Override
|
||||
public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
|
||||
super.onScrolled(recyclerView, dx, dy);
|
||||
if (dy > 0) {
|
||||
shuffleButton.setShowTitle(false);
|
||||
} else if (dy < 0) {
|
||||
shuffleButton.setShowTitle(true);
|
||||
}
|
||||
}
|
||||
});
|
||||
songAdapter.registerAdapterDataObserver(new RecyclerView.AdapterDataObserver() {
|
||||
@Override
|
||||
public void onChanged() {
|
||||
|
|
|
@ -66,14 +66,18 @@ public class NowPayingActivity extends AbsMusicServiceActivity implements AbsPla
|
|||
public void onPaletteColorChanged() {
|
||||
int paletteColor = playerFragment.getPaletteColor();
|
||||
if ((currentNowPlayingScreen == NowPlayingScreen.FLAT || currentNowPlayingScreen == NowPlayingScreen.NORMAL) && PreferenceUtil.getInstance().getAdaptiveColor()) {
|
||||
setNavigationbarColor(Color.TRANSPARENT);
|
||||
setLightNavigationBar(true);
|
||||
setLightStatusbar(ColorUtil.isColorLight(paletteColor));
|
||||
} else if (currentNowPlayingScreen == NowPlayingScreen.COLOR) {
|
||||
setLightStatusbar(ColorUtil.isColorLight(paletteColor));
|
||||
} else if (currentNowPlayingScreen == NowPlayingScreen.BLUR || currentNowPlayingScreen == NowPlayingScreen.BLUR_CARD) {
|
||||
setLightStatusbar(false);
|
||||
} else if (currentNowPlayingScreen == NowPlayingScreen.CARD || currentNowPlayingScreen == NowPlayingScreen.FULL) {
|
||||
setNavigationbarColor(Color.TRANSPARENT);
|
||||
} else {
|
||||
setStatusbarColor(Color.TRANSPARENT);
|
||||
setLightStatusbar(isOneOfTheseThemes() && ColorUtil.isColorLight(ThemeStore.primaryColor(this)));
|
||||
setNavigationbarColorAuto();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -4,13 +4,10 @@ import android.os.Bundle;
|
|||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.animation.AccelerateInterpolator;
|
||||
import android.view.animation.DecelerateInterpolator;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.afollestad.materialcab.MaterialCab;
|
||||
import com.google.android.material.appbar.AppBarLayout;
|
||||
import com.google.android.material.floatingactionbutton.FloatingActionButton;
|
||||
import com.h6ah4i.android.widget.advrecyclerview.animator.GeneralItemAnimator;
|
||||
import com.h6ah4i.android.widget.advrecyclerview.animator.RefactoredDefaultItemAnimator;
|
||||
import com.h6ah4i.android.widget.advrecyclerview.draggable.RecyclerViewDragDropManager;
|
||||
|
@ -27,7 +24,6 @@ import butterknife.BindView;
|
|||
import butterknife.ButterKnife;
|
||||
import butterknife.OnClick;
|
||||
import code.name.monkey.appthemehelper.ThemeStore;
|
||||
import code.name.monkey.appthemehelper.util.TintHelper;
|
||||
import code.name.monkey.appthemehelper.util.ToolbarContentTintHelper;
|
||||
import code.name.monkey.retromusic.R;
|
||||
import code.name.monkey.retromusic.helper.MusicPlayerRemote;
|
||||
|
@ -47,6 +43,7 @@ import code.name.monkey.retromusic.ui.adapter.song.SongAdapter;
|
|||
import code.name.monkey.retromusic.util.PlaylistsUtil;
|
||||
import code.name.monkey.retromusic.util.RetroColorUtil;
|
||||
import code.name.monkey.retromusic.util.ViewUtil;
|
||||
import code.name.monkey.retromusic.views.CollapsingFAB;
|
||||
|
||||
public class PlaylistDetailActivity extends AbsSlidingMusicPanelActivity implements CabHolder,
|
||||
PlaylistSongsContract.PlaylistSongsView {
|
||||
|
@ -64,7 +61,7 @@ public class PlaylistDetailActivity extends AbsSlidingMusicPanelActivity impleme
|
|||
TextView empty;
|
||||
|
||||
@BindView(R.id.action_shuffle)
|
||||
FloatingActionButton shuffleButton;
|
||||
CollapsingFAB shuffleButton;
|
||||
|
||||
@BindView(R.id.app_bar)
|
||||
AppBarLayout appBarLayout;
|
||||
|
@ -101,31 +98,6 @@ public class PlaylistDetailActivity extends AbsSlidingMusicPanelActivity impleme
|
|||
setUpRecyclerView();
|
||||
}
|
||||
|
||||
public void showHeartAnimation() {
|
||||
shuffleButton.clearAnimation();
|
||||
|
||||
shuffleButton.setScaleX(0.9f);
|
||||
shuffleButton.setScaleY(0.9f);
|
||||
shuffleButton.show();
|
||||
shuffleButton.setPivotX(shuffleButton.getWidth() / 2);
|
||||
shuffleButton.setPivotY(shuffleButton.getHeight() / 2);
|
||||
|
||||
shuffleButton.animate()
|
||||
.setDuration(200)
|
||||
.setInterpolator(new DecelerateInterpolator())
|
||||
.scaleX(1.1f)
|
||||
.scaleY(1.1f)
|
||||
.withEndAction(() -> shuffleButton.animate()
|
||||
.setDuration(200)
|
||||
.setInterpolator(new AccelerateInterpolator())
|
||||
.scaleX(1f)
|
||||
.scaleY(1f)
|
||||
.alpha(1f)
|
||||
.start())
|
||||
.start();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected View createContentView() {
|
||||
return wrapSlidingMusicPanel(R.layout.activity_playlist_detail);
|
||||
|
@ -165,6 +137,17 @@ public class PlaylistDetailActivity extends AbsSlidingMusicPanelActivity impleme
|
|||
checkIsEmpty();
|
||||
}
|
||||
});
|
||||
recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
|
||||
@Override
|
||||
public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
|
||||
super.onScrolled(recyclerView, dx, dy);
|
||||
if (dy > 0) {
|
||||
shuffleButton.setShowTitle(false);
|
||||
} else if (dy < 0) {
|
||||
shuffleButton.setShowTitle(true);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -176,7 +159,7 @@ public class PlaylistDetailActivity extends AbsSlidingMusicPanelActivity impleme
|
|||
private void setUpToolBar() {
|
||||
title.setText(playlist.name);
|
||||
title.setTextColor(ThemeStore.textColorPrimary(this));
|
||||
TintHelper.setTintAuto(shuffleButton, ThemeStore.accentColor(this), true);
|
||||
shuffleButton.setColor(ThemeStore.accentColor(this));
|
||||
|
||||
int primaryColor = ThemeStore.primaryColor(this);
|
||||
toolbar.setBackgroundColor(primaryColor);
|
||||
|
@ -320,7 +303,6 @@ public class PlaylistDetailActivity extends AbsSlidingMusicPanelActivity impleme
|
|||
|
||||
@OnClick(R.id.action_shuffle)
|
||||
public void onViewClicked() {
|
||||
showHeartAnimation();
|
||||
if (adapter.getDataSet().isEmpty()) {
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -3,13 +3,13 @@ package code.name.monkey.retromusic.ui.activities;
|
|||
import android.content.Context;
|
||||
import android.content.ContextWrapper;
|
||||
import android.content.Intent;
|
||||
import android.content.res.ColorStateList;
|
||||
import android.graphics.Bitmap;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.provider.MediaStore;
|
||||
import android.provider.MediaStore.Images.Media;
|
||||
import android.text.TextUtils;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
@ -31,7 +31,7 @@ import butterknife.BindView;
|
|||
import butterknife.ButterKnife;
|
||||
import butterknife.OnClick;
|
||||
import code.name.monkey.appthemehelper.ThemeStore;
|
||||
import code.name.monkey.appthemehelper.util.TintHelper;
|
||||
import code.name.monkey.appthemehelper.util.ToolbarContentTintHelper;
|
||||
import code.name.monkey.retromusic.R;
|
||||
import code.name.monkey.retromusic.ui.activities.base.AbsBaseActivity;
|
||||
import code.name.monkey.retromusic.util.Compressor;
|
||||
|
@ -46,7 +46,6 @@ import static code.name.monkey.retromusic.Constants.USER_BANNER;
|
|||
import static code.name.monkey.retromusic.Constants.USER_PROFILE;
|
||||
|
||||
public class UserInfoActivity extends AbsBaseActivity {
|
||||
private static final String TAG = "UserInfoActivity";
|
||||
|
||||
private static final int PICK_IMAGE_REQUEST = 9002;
|
||||
private static final int PICK_BANNER_REQUEST = 9003;
|
||||
|
@ -82,7 +81,6 @@ public class UserInfoActivity extends AbsBaseActivity {
|
|||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_user_info);
|
||||
|
||||
ButterKnife.bind(this);
|
||||
|
||||
setStatusbarColorAuto();
|
||||
|
@ -106,10 +104,22 @@ public class UserInfoActivity extends AbsBaseActivity {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
if (item.getItemId() == android.R.id.home) {
|
||||
onBackPressed();
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
||||
private void setupToolbar() {
|
||||
toolbar.setBackgroundColor(ThemeStore.primaryColor(this));
|
||||
appBarLayout.setBackgroundColor(ThemeStore.primaryColor(this));
|
||||
TintHelper.setTintAuto(nextButton, ThemeStore.accentColor(this), true);
|
||||
int primaryColor = ThemeStore.primaryColor(this);
|
||||
toolbar.setNavigationIcon(R.drawable.ic_keyboard_backspace_black_24dp);
|
||||
toolbar.setBackgroundColor(primaryColor);
|
||||
appBarLayout.setBackgroundColor(primaryColor);
|
||||
ToolbarContentTintHelper.colorBackButton(toolbar, ThemeStore.accentColor(this));
|
||||
setTitle(null);
|
||||
setSupportActionBar(toolbar);
|
||||
}
|
||||
|
||||
@OnClick({R.id.next, R.id.banner_select})
|
||||
|
@ -176,8 +186,7 @@ public class UserInfoActivity extends AbsBaseActivity {
|
|||
//noinspection ConstantConditions
|
||||
new MaterialDialog.Builder(this)
|
||||
.title("Set a profile photo")
|
||||
.items(Arrays.asList(getString(R.string.new_profile_photo),
|
||||
getString(R.string.remove_profile_photo)))
|
||||
.items(Arrays.asList(getString(R.string.new_profile_photo), getString(R.string.remove_profile_photo)))
|
||||
.itemsCallback((dialog, itemView, position, text) -> {
|
||||
switch (position) {
|
||||
case 0:
|
||||
|
|
|
@ -21,13 +21,14 @@ import code.name.monkey.retromusic.cast.CastHelper;
|
|||
import code.name.monkey.retromusic.helper.MusicPlayerRemote;
|
||||
import code.name.monkey.retromusic.ui.fragments.MiniPlayerFragment;
|
||||
import code.name.monkey.retromusic.util.PreferenceUtil;
|
||||
import code.name.monkey.retromusic.views.BottomNavigationBarTinted;
|
||||
|
||||
public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivity {
|
||||
|
||||
public static final String TAG = AbsSlidingMusicPanelActivity.class.getSimpleName();
|
||||
|
||||
@BindView(R.id.bottom_navigation)
|
||||
BottomNavigationView bottomNavigationView;
|
||||
BottomNavigationBarTinted bottomNavigationView;
|
||||
|
||||
@BindView(R.id.parentPanel)
|
||||
ViewGroup parentPanel;
|
||||
|
@ -47,7 +48,7 @@ public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivi
|
|||
ButterKnife.bind(this);
|
||||
setLightStatusbar(true);
|
||||
setLightNavigationBar(true);
|
||||
setupBottomView();
|
||||
//setupBottomView();
|
||||
miniPlayerFragment = (MiniPlayerFragment) getSupportFragmentManager().findFragmentById(R.id.mini_player_fragment);
|
||||
}
|
||||
|
||||
|
|
|
@ -106,20 +106,18 @@ public abstract class AbsThemeActivity extends ATHActivity implements Runnable {
|
|||
if (VersionUtils.hasKitKat()) {
|
||||
final View statusBar = getWindow().getDecorView().getRootView().findViewById(R.id.status_bar);
|
||||
if (statusBar != null) {
|
||||
if (VersionUtils.hasLollipop()) {
|
||||
if (VersionUtils.hasMarshmallow()) {
|
||||
getWindow().setStatusBarColor(color);
|
||||
} else if (VersionUtils.hasLollipop()) {
|
||||
statusBar.setBackgroundColor(ColorUtil.darkenColor(color));
|
||||
setLightStatusbarAuto(color);
|
||||
} else {
|
||||
statusBar.setBackgroundColor(color);
|
||||
}
|
||||
} else if (VersionUtils.hasMarshmallow()) {
|
||||
getWindow().setStatusBarColor(color);
|
||||
setLightStatusbarAuto(color);
|
||||
} else if (Build.VERSION.SDK_INT >= 21) {
|
||||
getWindow().setStatusBarColor(ColorUtil.darkenColor(color));
|
||||
setLightStatusbarAuto(color);
|
||||
}
|
||||
}
|
||||
setLightStatusbarAuto(color);
|
||||
}
|
||||
|
||||
public void setStatusbarColorAuto() {
|
||||
|
|
|
@ -345,14 +345,7 @@ public abstract class AbsTagEditorActivity extends AbsBaseActivity {
|
|||
}
|
||||
}
|
||||
|
||||
@Nullable
|
||||
protected String getComposer() {
|
||||
try {
|
||||
return getAudioFile(songPaths.get(0)).getTagOrCreateAndSetDefault().getFirst(FieldKey.COMPOSER);
|
||||
} catch (Exception ignored) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Nullable
|
||||
protected Bitmap getAlbumArt() {
|
||||
|
|
|
@ -61,9 +61,6 @@ public class SongTagEditorActivity extends AbsTagEditorActivity implements TextW
|
|||
@BindView(R.id.album_artist)
|
||||
EditText albumArtist;
|
||||
|
||||
@BindView(R.id.composer)
|
||||
EditText composer;
|
||||
|
||||
private void setupToolbar() {
|
||||
appBarLayout.setBackgroundColor(ThemeStore.primaryColor(this));
|
||||
toolbar.setBackgroundColor(ThemeStore.primaryColor(this));
|
||||
|
@ -94,7 +91,6 @@ public class SongTagEditorActivity extends AbsTagEditorActivity implements TextW
|
|||
year.addTextChangedListener(this);
|
||||
trackNumber.addTextChangedListener(this);
|
||||
lyrics.addTextChangedListener(this);
|
||||
composer.addTextChangedListener(this);
|
||||
}
|
||||
|
||||
private void fillViewsWithFileTags() {
|
||||
|
@ -106,7 +102,6 @@ public class SongTagEditorActivity extends AbsTagEditorActivity implements TextW
|
|||
year.setText(getSongYear());
|
||||
trackNumber.setText(getTrackNumber());
|
||||
lyrics.setText(getLyrics());
|
||||
composer.setText(getComposer());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -140,7 +135,6 @@ public class SongTagEditorActivity extends AbsTagEditorActivity implements TextW
|
|||
fieldKeyValueMap.put(FieldKey.TRACK, trackNumber.getText().toString());
|
||||
fieldKeyValueMap.put(FieldKey.LYRICS, lyrics.getText().toString());
|
||||
fieldKeyValueMap.put(FieldKey.ALBUM_ARTIST, albumArtist.getText().toString());
|
||||
fieldKeyValueMap.put(FieldKey.COMPOSER, composer.getText().toString());
|
||||
writeValuesToFiles(fieldKeyValueMap, null);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
package code.name.monkey.retromusic.ui.adapter;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
|
||||
|
@ -14,8 +16,12 @@ import java.util.List;
|
|||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import butterknife.BindView;
|
||||
import butterknife.BindViews;
|
||||
import butterknife.ButterKnife;
|
||||
import code.name.monkey.appthemehelper.ThemeStore;
|
||||
import code.name.monkey.appthemehelper.util.ColorUtil;
|
||||
import code.name.monkey.appthemehelper.util.MaterialValueHelper;
|
||||
import code.name.monkey.retromusic.R;
|
||||
import code.name.monkey.retromusic.glide.SongGlideRequest;
|
||||
import code.name.monkey.retromusic.helper.MusicPlayerRemote;
|
||||
|
@ -39,8 +45,8 @@ public class CollageSongAdapter extends RecyclerView.Adapter<CollageSongViewHold
|
|||
@Override
|
||||
public void onBindViewHolder(@NonNull CollageSongViewHolder holder, int position) {
|
||||
holder.bindSongs();
|
||||
if (dataSet.size() > 9) {
|
||||
for (int i = 0; i < dataSet.subList(0, 9).size(); i++) {
|
||||
if (dataSet.size() > 8) {
|
||||
for (int i = 0; i < dataSet.subList(0, 8).size(); i++) {
|
||||
if (holder.imageViews != null) {
|
||||
SongGlideRequest.Builder.from(Glide.with(activity), dataSet.get(i))
|
||||
.checkIgnoreMediaStore(activity)
|
||||
|
@ -59,20 +65,25 @@ public class CollageSongAdapter extends RecyclerView.Adapter<CollageSongViewHold
|
|||
@NonNull
|
||||
@Override
|
||||
public CollageSongViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||
return new CollageSongViewHolder(
|
||||
LayoutInflater.from(activity).inflate(R.layout.item_collage, parent, false));
|
||||
return new CollageSongViewHolder(LayoutInflater.from(activity).inflate(R.layout.item_collage, parent, false));
|
||||
}
|
||||
|
||||
class CollageSongViewHolder extends MediaEntryViewHolder {
|
||||
|
||||
@BindViews({R.id.image_1, R.id.image_2, R.id.image_3, R.id.image_4, R.id.image_5, R.id.image_6,
|
||||
@BindViews({R.id.image_2, R.id.image_3, R.id.image_4, R.id.image_5, R.id.image_6,
|
||||
R.id.image_7, R.id.image_8, R.id.image_9})
|
||||
@Nullable
|
||||
List<ImageView> imageViews;
|
||||
@BindView(R.id.image_1)
|
||||
TextView view;
|
||||
|
||||
CollageSongViewHolder(View itemView) {
|
||||
super(itemView);
|
||||
ButterKnife.bind(this, itemView);
|
||||
Context context = itemView.getContext();
|
||||
int color = ThemeStore.accentColor(context);
|
||||
view.setBackgroundColor(color);
|
||||
view.setTextColor(MaterialValueHelper.getPrimaryTextColor(context, ColorUtil.isColorLight(color)));
|
||||
}
|
||||
|
||||
void bindSongs() {
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package code.name.monkey.retromusic.ui.adapter.album;
|
||||
|
||||
import android.content.res.ColorStateList;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.MenuItem;
|
||||
|
@ -60,10 +61,6 @@ public class AlbumAdapter extends AbsMultiSelectAdapter<AlbumAdapter.ViewHolder,
|
|||
|
||||
}
|
||||
|
||||
public AlbumAdapter(@NonNull AppCompatActivity activity, ArrayList<Album> dataSet,
|
||||
@LayoutRes int itemLayoutRes) {
|
||||
this(activity, dataSet, itemLayoutRes, false, null);
|
||||
}
|
||||
|
||||
public void useItemLayout(int itemLayoutRes) {
|
||||
this.itemLayoutRes = itemLayoutRes;
|
||||
|
@ -142,6 +139,9 @@ public class AlbumAdapter extends AbsMultiSelectAdapter<AlbumAdapter.ViewHolder,
|
|||
holder.text.setTextColor(MaterialValueHelper.getSecondaryTextColor(activity, ColorUtil.isColorLight(color)));
|
||||
}
|
||||
}
|
||||
if (holder.mask != null) {
|
||||
holder.mask.setBackgroundTintList(ColorStateList.valueOf(color));
|
||||
}
|
||||
}
|
||||
|
||||
protected void loadAlbumCover(Album album, final ViewHolder holder) {
|
||||
|
@ -235,7 +235,6 @@ public class AlbumAdapter extends AbsMultiSelectAdapter<AlbumAdapter.ViewHolder,
|
|||
if (isInQuickSelectMode()) {
|
||||
toggleChecked(getAdapterPosition());
|
||||
} else {
|
||||
|
||||
Pair[] albumPairs = new Pair[]{Pair.create(image, activity.getResources().getString(R.string.transition_album_art))};
|
||||
NavigationUtil.goToAlbum(activity, dataSet.get(getAdapterPosition()).getId(), albumPairs);
|
||||
}
|
||||
|
|
|
@ -1,10 +1,6 @@
|
|||
package code.name.monkey.retromusic.ui.adapter.artist;
|
||||
|
||||
import androidx.annotation.LayoutRes;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.core.util.Pair;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import android.content.res.ColorStateList;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
|
@ -16,6 +12,11 @@ import com.simplecityapps.recyclerview_fastscroll.views.FastScrollRecyclerView;
|
|||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import androidx.annotation.LayoutRes;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.core.util.Pair;
|
||||
import code.name.monkey.appthemehelper.util.ColorUtil;
|
||||
import code.name.monkey.appthemehelper.util.MaterialValueHelper;
|
||||
import code.name.monkey.retromusic.R;
|
||||
|
@ -115,6 +116,9 @@ public class ArtistAdapter extends AbsMultiSelectAdapter<ArtistAdapter.ViewHolde
|
|||
MaterialValueHelper.getPrimaryTextColor(activity, ColorUtil.isColorLight(color)));
|
||||
}
|
||||
}
|
||||
if (holder.mask != null) {
|
||||
holder.mask.setBackgroundTintList(ColorStateList.valueOf(color));
|
||||
}
|
||||
}
|
||||
|
||||
private void loadArtistImage(Artist artist, final ViewHolder holder) {
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
package code.name.monkey.retromusic.ui.adapter.base;
|
||||
|
||||
import android.os.Build;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.cardview.widget.CardView;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.cardview.widget.CardView;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
import code.name.monkey.appthemehelper.ThemeStore;
|
||||
|
@ -61,6 +61,9 @@ public class MediaEntryViewHolder extends RecyclerView.ViewHolder implements Vie
|
|||
@BindView(R.id.play_songs)
|
||||
@Nullable
|
||||
public ImageButton playSongs;
|
||||
@BindView(R.id.mask)
|
||||
@Nullable
|
||||
public View mask;
|
||||
@BindView(R.id.image_text_container)
|
||||
@Nullable
|
||||
public CardView imageTextContainer;
|
||||
|
|
|
@ -13,6 +13,7 @@ import com.h6ah4i.android.widget.advrecyclerview.draggable.annotation.DraggableI
|
|||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import androidx.annotation.ColorInt;
|
||||
import androidx.annotation.LayoutRes;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
@ -30,6 +31,7 @@ public class PlayingQueueAdapter extends SongAdapter implements DraggableItemAda
|
|||
private static final int UP_NEXT = 2;
|
||||
|
||||
private int current;
|
||||
private int color = -1;
|
||||
|
||||
public PlayingQueueAdapter(AppCompatActivity activity, ArrayList<Song> dataSet, int current,
|
||||
@LayoutRes int itemLayoutRes) {
|
||||
|
@ -37,6 +39,13 @@ public class PlayingQueueAdapter extends SongAdapter implements DraggableItemAda
|
|||
this.current = current;
|
||||
}
|
||||
|
||||
public PlayingQueueAdapter(AppCompatActivity activity, ArrayList<Song> dataSet, int current,
|
||||
@LayoutRes int itemLayoutRes, @ColorInt int color) {
|
||||
super(activity, dataSet, itemLayoutRes, false, null);
|
||||
this.current = current;
|
||||
this.color = color;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected SongAdapter.ViewHolder createViewHolder(View view) {
|
||||
return new ViewHolder(view);
|
||||
|
@ -63,6 +72,9 @@ public class PlayingQueueAdapter extends SongAdapter implements DraggableItemAda
|
|||
|
||||
if (holder.title != null) {
|
||||
holder.title.setTextColor(white);
|
||||
if (color != -1) {
|
||||
holder.title.setTextColor(color);
|
||||
}
|
||||
}
|
||||
if (holder.text != null) {
|
||||
holder.text.setTextColor(white);
|
||||
|
|
|
@ -211,9 +211,7 @@ public class SongAdapter extends AbsMultiSelectAdapter<SongAdapter.ViewHolder, S
|
|||
break;
|
||||
case SortOrder.SongSortOrder.SONG_YEAR:
|
||||
return MusicUtil.getYearString(dataSet.get(position).year);
|
||||
case SortOrder.SongSortOrder.COMPOSER:
|
||||
sectionName = dataSet.get(position).composer;
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
return MusicUtil.getSectionName(sectionName);
|
||||
|
|
|
@ -80,14 +80,14 @@ public class MiniPlayerFragment extends AbsMusicServiceFragment implements Music
|
|||
//noinspection ConstantConditions
|
||||
view.setBackgroundColor(ThemeStore.primaryColor(getContext()));
|
||||
view.setOnTouchListener(new FlingPlayBackController(getActivity()));
|
||||
view.setOnClickListener(v -> NavigationUtil.gotoNowPlayingActivity(getContext(), Pair.create(v, getString(R.string.transition_mini_player))));
|
||||
view.setOnClickListener(v -> NavigationUtil.gotoNowPlayingActivity(getContext()));
|
||||
setUpMiniPlayer();
|
||||
|
||||
if (RetroUtil.isTablet(getResources())) {
|
||||
if (RetroUtil.isTablet()) {
|
||||
next.setVisibility(View.VISIBLE);
|
||||
previous.setVisibility(View.VISIBLE);
|
||||
playingQueue.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
} else{
|
||||
next.setVisibility(PreferenceUtil.getInstance().isExtraMiniExtraControls() ? View.VISIBLE : View.GONE);
|
||||
playingQueue.setVisibility(PreferenceUtil.getInstance().isExtraMiniExtraControls() ? View.GONE : View.VISIBLE);
|
||||
previous.setVisibility(PreferenceUtil.getInstance().isExtraMiniExtraControls() ? View.VISIBLE : View.GONE);
|
||||
|
|
|
@ -162,7 +162,7 @@ public abstract class AbsLibraryPagerRecyclerViewCustomGridSizeFragment<A extend
|
|||
}
|
||||
|
||||
protected final boolean isLandscape() {
|
||||
return RetroUtil.isLandscape(getResources());
|
||||
return RetroUtil.isLandscape( );
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -30,8 +30,6 @@ public abstract class AbsMainActivityFragment extends AbsMusicServiceFragment {
|
|||
getMainActivity().setBottomBarVisibility(View.VISIBLE);
|
||||
}
|
||||
|
||||
|
||||
// WORKAROUND
|
||||
private void setStatusbarColor(View view, int color) {
|
||||
final View statusBar = view.findViewById(R.id.status_bar);
|
||||
if (statusBar != null) {
|
||||
|
|
|
@ -210,7 +210,7 @@ public class LibraryFragment extends AbsMainActivityFragment implements CabHolde
|
|||
AbsLibraryPagerRecyclerViewCustomGridSizeFragment fragment = (AbsLibraryPagerRecyclerViewCustomGridSizeFragment) currentFragment;
|
||||
|
||||
MenuItem gridSizeItem = menu.findItem(R.id.action_grid_size);
|
||||
if (RetroUtil.isLandscape(getResources())) {
|
||||
if (RetroUtil.isLandscape()) {
|
||||
gridSizeItem.setTitle(R.string.action_grid_size_land);
|
||||
}
|
||||
setUpGridSizeMenu(fragment, gridSizeItem.getSubMenu());
|
||||
|
@ -272,8 +272,7 @@ public class LibraryFragment extends AbsMainActivityFragment implements CabHolde
|
|||
.setChecked(currentSortOrder.equals(SortOrder.SongSortOrder.SONG_YEAR));
|
||||
sortOrderMenu.add(0, R.id.action_song_sort_order_date, 4, R.string.sort_order_date)
|
||||
.setChecked(currentSortOrder.equals(SortOrder.SongSortOrder.SONG_DATE));
|
||||
sortOrderMenu.add(0, R.id.action_song_sort_composer, 4, R.string.composer)
|
||||
.setChecked(currentSortOrder.equals(SortOrder.SongSortOrder.COMPOSER));
|
||||
|
||||
}
|
||||
|
||||
sortOrderMenu.setGroupCheckable(0, true, true);
|
||||
|
@ -327,9 +326,7 @@ public class LibraryFragment extends AbsMainActivityFragment implements CabHolde
|
|||
case R.id.action_song_sort_order_date:
|
||||
sortOrder = SortOrder.SongSortOrder.SONG_DATE;
|
||||
break;
|
||||
case R.id.action_song_sort_composer:
|
||||
sortOrder = SortOrder.SongSortOrder.COMPOSER;
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -59,6 +59,7 @@ import code.name.monkey.retromusic.ui.fragments.base.AbsMainActivityFragment;
|
|||
import code.name.monkey.retromusic.util.Compressor;
|
||||
import code.name.monkey.retromusic.util.NavigationUtil;
|
||||
import code.name.monkey.retromusic.util.PreferenceUtil;
|
||||
import code.name.monkey.retromusic.util.RetroUtil;
|
||||
import code.name.monkey.retromusic.views.CircularImageView;
|
||||
import code.name.monkey.retromusic.views.MetalRecyclerViewPager;
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||
|
@ -223,6 +224,7 @@ public class BannerHomeFragment extends AbsMainActivityFragment implements MainA
|
|||
View view = inflater.inflate(PreferenceUtil.getInstance().toggleHomeBanner() ? R.layout.fragment_banner_home : R.layout.fragment_home,
|
||||
container, false);
|
||||
unbinder = ButterKnife.bind(this, view);
|
||||
setStatusbarColorAuto(view);
|
||||
return view;
|
||||
}
|
||||
|
||||
|
@ -330,7 +332,7 @@ public class BannerHomeFragment extends AbsMainActivityFragment implements MainA
|
|||
if (!songs.isEmpty()) {
|
||||
suggestionsContainer.setVisibility(View.VISIBLE);
|
||||
CollageSongAdapter artistAdapter = new CollageSongAdapter(getMainActivity(), songs);
|
||||
suggestionsSongs.setLayoutManager(new LinearLayoutManager(getMainActivity()));
|
||||
suggestionsSongs.setLayoutManager(RetroUtil.isTablet() ? new GridLayoutManager(getMainActivity(), 2) : new LinearLayoutManager(getMainActivity()));
|
||||
suggestionsSongs.setAdapter(artistAdapter);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -226,7 +226,7 @@ public class BlurPlayerFragment extends AbsPlayerFragment implements PlayerAlbum
|
|||
(AppCompatActivity) getActivity(),
|
||||
MusicPlayerRemote.getPlayingQueue(),
|
||||
MusicPlayerRemote.getPosition(),
|
||||
R.layout.item_song);
|
||||
R.layout.item_song, Color.WHITE);
|
||||
layoutManager = new LinearLayoutManager(getContext());
|
||||
|
||||
recyclerView.setLayoutManager(layoutManager);
|
||||
|
|
|
@ -138,7 +138,6 @@ public class PlayerFragment extends AbsPlayerFragment implements PlayerAlbumCove
|
|||
unbinder = ButterKnife.bind(this, view);
|
||||
if (getPlayerActivity() != null) {
|
||||
getPlayerActivity().setDrawUnderNavigationBar();
|
||||
//getPlayerActivity().setNavigationbarColorAuto();
|
||||
addSafeArea(view);
|
||||
}
|
||||
return view;
|
||||
|
|
|
@ -102,22 +102,6 @@ public class ThemeSettingsFragment extends AbsSettingsFragment {
|
|||
return true;
|
||||
});
|
||||
|
||||
TwoStatePreference colorNavBar = (TwoStatePreference) findPreference(
|
||||
"should_color_navigation_bar");
|
||||
if (!VersionUtils.hasLollipop()) {
|
||||
colorNavBar.setEnabled(false);
|
||||
colorNavBar.setSummary(R.string.pref_only_lollipop);
|
||||
} else {
|
||||
colorNavBar.setChecked(ThemeStore.coloredNavigationBar(getActivity()));
|
||||
colorNavBar.setOnPreferenceChangeListener((preference, newValue) -> {
|
||||
ThemeStore.editTheme(getActivity())
|
||||
.coloredNavigationBar((Boolean) newValue)
|
||||
.commit();
|
||||
getActivity().recreate();
|
||||
return true;
|
||||
});
|
||||
}
|
||||
|
||||
TwoStatePreference colorAppShortcuts = (TwoStatePreference) findPreference(
|
||||
"should_color_app_shortcuts");
|
||||
if (!VersionUtils.hasNougatMR()) {
|
||||
|
|
|
@ -80,12 +80,12 @@ public class RetroUtil {
|
|||
.replace("%5D", "]");
|
||||
}
|
||||
|
||||
public static boolean isTablet(@NonNull final Resources resources) {
|
||||
return resources.getConfiguration().smallestScreenWidthDp >= 600;
|
||||
public static boolean isTablet() {
|
||||
return RetroApplication.getContext().getResources().getConfiguration().smallestScreenWidthDp >= 600;
|
||||
}
|
||||
|
||||
public static boolean isLandscape(@NonNull final Resources resources) {
|
||||
return resources.getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE;
|
||||
public static boolean isLandscape() {
|
||||
return RetroApplication.getContext().getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -0,0 +1,36 @@
|
|||
package code.name.monkey.retromusic.views;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.AttributeSet;
|
||||
|
||||
import com.google.android.material.bottomnavigation.BottomNavigationView;
|
||||
|
||||
import code.name.monkey.appthemehelper.ThemeStore;
|
||||
import code.name.monkey.appthemehelper.util.ATHUtil;
|
||||
import code.name.monkey.appthemehelper.util.ColorUtil;
|
||||
import code.name.monkey.appthemehelper.util.NavigationViewUtil;
|
||||
import code.name.monkey.retromusic.R;
|
||||
import code.name.monkey.retromusic.util.PreferenceUtil;
|
||||
|
||||
public class BottomNavigationBarTinted extends BottomNavigationView {
|
||||
public BottomNavigationBarTinted(Context context) {
|
||||
this(context, null);
|
||||
}
|
||||
|
||||
public BottomNavigationBarTinted(Context context, AttributeSet attrs) {
|
||||
this(context, attrs, 0);
|
||||
}
|
||||
|
||||
public BottomNavigationBarTinted(Context context, AttributeSet attrs, int defStyleAttr) {
|
||||
super(context, attrs, defStyleAttr);
|
||||
setLabelVisibilityMode(PreferenceUtil.getInstance().getTabTitleMode());
|
||||
setBackgroundColor(ThemeStore.primaryColor(context));
|
||||
setSelectedItemId(PreferenceUtil.getInstance().getLastPage());
|
||||
|
||||
int iconColor = ATHUtil.resolveColor(context, R.attr.iconColor);
|
||||
int accentColor = ThemeStore.accentColor(context);
|
||||
NavigationViewUtil.setItemIconColors(this, ColorUtil.withAlpha(iconColor, 0.5f), accentColor);
|
||||
NavigationViewUtil.setItemTextColors(this, ColorUtil.withAlpha(iconColor, 0.5f), accentColor);
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,71 @@
|
|||
package code.name.monkey.retromusic.views;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.ColorStateList;
|
||||
import android.content.res.TypedArray;
|
||||
import android.graphics.Color;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.View;
|
||||
import android.widget.FrameLayout;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.google.android.material.card.MaterialCardView;
|
||||
|
||||
import androidx.annotation.ColorInt;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.transition.AutoTransition;
|
||||
import androidx.transition.TransitionManager;
|
||||
import code.name.monkey.appthemehelper.util.ColorUtil;
|
||||
import code.name.monkey.appthemehelper.util.MaterialValueHelper;
|
||||
import code.name.monkey.retromusic.R;
|
||||
|
||||
public class CollapsingFAB extends FrameLayout {
|
||||
@ColorInt
|
||||
int color = Color.WHITE;
|
||||
boolean showTitle;
|
||||
|
||||
ImageView shuffleIcon;
|
||||
TextView textView;
|
||||
MaterialCardView cardView;
|
||||
|
||||
public CollapsingFAB(@NonNull Context context) {
|
||||
this(context, null);
|
||||
}
|
||||
|
||||
public CollapsingFAB(@NonNull Context context, @Nullable AttributeSet attrs) {
|
||||
this(context, attrs, 0);
|
||||
}
|
||||
|
||||
public CollapsingFAB(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
|
||||
super(context, attrs, defStyleAttr);
|
||||
|
||||
TypedArray attributes = getContext().obtainStyledAttributes(attrs, R.styleable.CollapsingFAB, 0, 0);
|
||||
color = attributes.getColor(R.styleable.CollapsingFAB_shuffleBackgroundColor, 0);
|
||||
showTitle = attributes.getBoolean(R.styleable.CollapsingFAB_showTitle, false);
|
||||
View view = inflate(context, R.layout.collapsing_floating_action_button, this);
|
||||
shuffleIcon = view.findViewById(R.id.icon);
|
||||
textView = view.findViewById(R.id.shuffle_text);
|
||||
textView.setVisibility(showTitle ? VISIBLE : GONE);
|
||||
cardView = view.findViewById(R.id.container);
|
||||
attributes.recycle();
|
||||
}
|
||||
|
||||
public void setShowTitle(boolean showTitle) {
|
||||
this.showTitle = showTitle;
|
||||
TransitionManager.beginDelayedTransition(this, new AutoTransition());
|
||||
textView.setVisibility(showTitle ? VISIBLE : GONE);
|
||||
invalidate();
|
||||
requestLayout();
|
||||
}
|
||||
|
||||
public void setColor(int color) {
|
||||
this.color = color;
|
||||
int textColor = MaterialValueHelper.getPrimaryTextColor(getContext(), ColorUtil.isColorLight(color));
|
||||
shuffleIcon.setColorFilter(textColor);
|
||||
textView.setTextColor(textColor);
|
||||
cardView.setCardBackgroundColor(ColorStateList.valueOf(color));
|
||||
postInvalidate();
|
||||
}
|
||||
}
|
|
@ -17,19 +17,20 @@ package code.name.monkey.retromusic.views;
|
|||
|
||||
import android.content.Context;
|
||||
import android.content.res.TypedArray;
|
||||
import android.util.AttributeSet;
|
||||
import android.util.DisplayMetrics;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.PagerSnapHelper;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import androidx.recyclerview.widget.SnapHelper;
|
||||
import android.util.AttributeSet;
|
||||
import android.util.DisplayMetrics;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import code.name.monkey.retromusic.R;
|
||||
import code.name.monkey.retromusic.ui.adapter.base.MediaEntryViewHolder;
|
||||
import code.name.monkey.retromusic.util.RetroUtil;
|
||||
|
||||
public class MetalRecyclerViewPager extends RecyclerView {
|
||||
|
||||
|
@ -88,7 +89,11 @@ public class MetalRecyclerViewPager extends RecyclerView {
|
|||
}
|
||||
|
||||
void updateDisplayMetrics() {
|
||||
itemWidth = metrics.widthPixels - itemMargin * 2;
|
||||
if (RetroUtil.isTablet()) {
|
||||
itemWidth = (metrics.widthPixels / 2) - itemMargin * 3;
|
||||
} else {
|
||||
itemWidth = metrics.widthPixels - itemMargin * 2;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -2,32 +2,33 @@ package code.name.monkey.retromusic.views;
|
|||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.Dialog;
|
||||
import android.content.res.ColorStateList;
|
||||
import android.content.Context;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.drawable.ColorDrawable;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.Window;
|
||||
import android.widget.FrameLayout;
|
||||
|
||||
import com.google.android.material.bottomsheet.BottomSheetBehavior;
|
||||
import com.google.android.material.bottomsheet.BottomSheetDialog;
|
||||
import com.google.android.material.bottomsheet.BottomSheetDialogFragment;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.annotation.StyleRes;
|
||||
import androidx.appcompat.app.AppCompatDialogFragment;
|
||||
import code.name.monkey.appthemehelper.ThemeStore;
|
||||
import code.name.monkey.appthemehelper.util.VersionUtils;
|
||||
import code.name.monkey.retromusic.R;
|
||||
import code.name.monkey.retromusic.ui.activities.base.AbsBaseActivity;
|
||||
import code.name.monkey.retromusic.util.RetroUtil;
|
||||
|
||||
/**
|
||||
* Created by yu on 2016/11/10.
|
||||
*/
|
||||
@SuppressLint("RestrictedApi")
|
||||
public class RoundedBottomSheetDialogFragment extends BottomSheetDialogFragment {
|
||||
public class RoundedBottomSheetDialogFragment extends AppCompatDialogFragment {
|
||||
|
||||
/* @Override
|
||||
public int getTheme() {
|
||||
|
@ -52,22 +53,26 @@ public class RoundedBottomSheetDialogFragment extends BottomSheetDialogFragment
|
|||
view.getViewTreeObserver().addOnGlobalLayoutListener(() -> {
|
||||
BottomSheetDialog dialog = (BottomSheetDialog) getDialog();
|
||||
FrameLayout bottomSheet = dialog.findViewById(R.id.design_bottom_sheet);
|
||||
|
||||
if (bottomSheet != null) {
|
||||
BottomSheetBehavior behavior = BottomSheetBehavior.from(bottomSheet);
|
||||
behavior.setState(BottomSheetBehavior.STATE_EXPANDED);
|
||||
bottomSheet.setBackground(RetroUtil.getTintedDrawable(getContext(), R.drawable.bg_bottom_sheet_dialog_fragment, ThemeStore.primaryColor(getContext())));
|
||||
}
|
||||
});
|
||||
view.setBackground(ContextCompat.getDrawable(view.getContext(), R.drawable.bg_bottom_sheet_dialog_fragment));
|
||||
view.setBackgroundTintList(ColorStateList.valueOf(ThemeStore.primaryColor(view.getContext())));
|
||||
((AbsBaseActivity) Objects.requireNonNull(getActivity())).setNavigationbarColorAuto();
|
||||
if (getActivity() != null) {
|
||||
if (VersionUtils.hasNougat()) {
|
||||
((AbsBaseActivity) getActivity()).setNavigationbarColor(ThemeStore.primaryColor(getContext()));
|
||||
} else {
|
||||
((AbsBaseActivity) getActivity()).setNavigationbarColorAuto();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public Dialog onCreateDialog(Bundle savedInstanceState) {
|
||||
//noinspection ConstantConditions
|
||||
return new BottomSheetDialog(getContext());
|
||||
return new CustomWidthBottomSheetDialog(getContext(), getTheme());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -80,4 +85,18 @@ public class RoundedBottomSheetDialogFragment extends BottomSheetDialogFragment
|
|||
window.findViewById(com.google.android.material.R.id.container).setFitsSystemWindows(true);
|
||||
}
|
||||
}
|
||||
|
||||
static class CustomWidthBottomSheetDialog extends BottomSheetDialog {
|
||||
CustomWidthBottomSheetDialog(@NonNull Context context, @StyleRes int theme) {
|
||||
super(context, theme);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
int width = getContext().getResources().getDimensionPixelSize(R.dimen.bottom_sheet_width);
|
||||
getWindow().setLayout(width > 0 ? width : ViewGroup.LayoutParams.MATCH_PARENT,
|
||||
ViewGroup.LayoutParams.MATCH_PARENT);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
package code.name.monkey.retromusic.views;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.PorterDuff;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.util.AttributeSet;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import code.name.monkey.appthemehelper.ThemeStore;
|
||||
|
||||
public class TintIconColorToolbar extends Toolbar {
|
||||
public TintIconColorToolbar(Context context) {
|
||||
super(context);
|
||||
}
|
||||
|
||||
public TintIconColorToolbar(Context context, @Nullable AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
}
|
||||
|
||||
public TintIconColorToolbar(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
|
||||
super(context, attrs, defStyleAttr);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void setNavigationIcon(@Nullable Drawable icon) {
|
||||
super.setNavigationIcon(icon);
|
||||
if (icon != null) {
|
||||
icon.setColorFilter(ThemeStore.accentColor(getContext()), PorterDuff.Mode.SRC_IN);
|
||||
}
|
||||
}
|
||||
}
|
4
app/src/main/res/animator/slide_in_left.xml
Normal file
4
app/src/main/res/animator/slide_in_left.xml
Normal file
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<set xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
</set>
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<solid android:color="@color/md_red_500" />
|
||||
<solid android:color="@color/md_black_1000" />
|
||||
<corners
|
||||
android:topLeftRadius="12dp"
|
||||
android:topRightRadius="12dp" />
|
||||
|
|
5
app/src/main/res/drawable/bg_circular_corners.xml
Normal file
5
app/src/main/res/drawable/bg_circular_corners.xml
Normal file
|
@ -0,0 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="@color/md_deep_purple_A700" />
|
||||
<corners android:radius="50dp" />
|
||||
</shape>
|
|
@ -16,7 +16,7 @@
|
|||
android:layout_height="match_parent"
|
||||
android:layout_weight="1">
|
||||
|
||||
<ImageView
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/image"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
|
@ -30,6 +30,7 @@
|
|||
</FrameLayout>
|
||||
|
||||
<androidx.core.widget.NestedScrollView
|
||||
android:id="@+id/content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
|
@ -37,7 +38,6 @@
|
|||
android:overScrollMode="never">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
@ -71,7 +71,6 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:maxLines="2"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Title"
|
||||
android:transitionName="@string/transition_album_name"
|
||||
tools:ignore="MissingPrefix" />
|
||||
|
||||
<code.name.monkey.appthemehelper.common.views.ATESecondaryTextView
|
||||
|
@ -88,7 +87,6 @@
|
|||
android:scrollHorizontally="true"
|
||||
android:singleLine="true"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Subhead"
|
||||
android:transitionName="@string/transition_album_text"
|
||||
tools:ignore="MissingPrefix"
|
||||
tools:text="Title" />
|
||||
|
||||
|
@ -101,25 +99,14 @@
|
|||
</androidx.core.widget.NestedScrollView>
|
||||
</LinearLayout>
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="72dp"
|
||||
android:background="@drawable/shadow_down_strong" />
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
<code.name.monkey.retromusic.views.CollapsingFAB
|
||||
android:id="@+id/action_shuffle_all"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom"
|
||||
android:layout_margin="16dp"
|
||||
android:text="@string/shuffle"
|
||||
android:textAllCaps="false"
|
||||
app:backgroundTint="@color/md_red_500"
|
||||
app:cornerRadius="25dp"
|
||||
app:icon="@drawable/ic_shuffle_white_24dp"
|
||||
app:iconGravity="start"
|
||||
app:iconPadding="12dp"
|
||||
app:layout_dodgeInsetEdges="all" />
|
||||
android:layout_gravity="end|bottom"
|
||||
android:layout_margin="10dp"
|
||||
app:showTitle="true"
|
||||
app:shuffleBackgroundColor="@color/md_black_1000" />
|
||||
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
|
||||
|
|
|
@ -27,20 +27,7 @@
|
|||
android:id="@+id/toolbar"
|
||||
style="@style/Toolbar48" />
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/action_shuffle_all"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom"
|
||||
android:layout_margin="16dp"
|
||||
android:text="@string/shuffle"
|
||||
android:textAllCaps="false"
|
||||
app:backgroundTint="@color/md_red_500"
|
||||
app:cornerRadius="25dp"
|
||||
app:icon="@drawable/ic_shuffle_white_24dp"
|
||||
app:iconGravity="start"
|
||||
app:iconPadding="12dp"
|
||||
app:layout_dodgeInsetEdges="all" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
<androidx.core.widget.NestedScrollView
|
||||
|
@ -106,10 +93,7 @@
|
|||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<include layout="@layout/activity_artist_content" />
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
</androidx.cardview.widget.CardView>
|
||||
</LinearLayout>
|
||||
|
@ -121,4 +105,12 @@
|
|||
android:layout_height="72dp"
|
||||
android:background="@drawable/shadow_down_strong" />
|
||||
|
||||
<code.name.monkey.retromusic.views.CollapsingFAB
|
||||
android:id="@+id/action_shuffle_all"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="end|bottom"
|
||||
android:layout_margin="10dp"
|
||||
app:showTitle="true"
|
||||
app:shuffleBackgroundColor="@color/md_black_1000" />
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
|
@ -22,9 +21,8 @@
|
|||
android:id="@+id/toolbar"
|
||||
style="@style/Toolbar48"
|
||||
app:layout_collapseMode="pin"
|
||||
app:title=""
|
||||
tools:ignore="UnusedAttribute">
|
||||
|
||||
app:navigationIcon="@drawable/ic_keyboard_backspace_black_24dp"
|
||||
app:title="">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/title"
|
||||
|
@ -33,6 +31,11 @@
|
|||
|
||||
</androidx.appcompat.widget.Toolbar>
|
||||
</com.google.android.material.appbar.CollapsingToolbarLayout>
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:background="?dividerColor" />
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
<LinearLayout
|
||||
|
|
|
@ -3,14 +3,14 @@
|
|||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/root_layout"
|
||||
android:layout_width="400dp"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
android:id="@+id/image_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="182dp"
|
||||
android:layout_height="256dp"
|
||||
app:cardCornerRadius="12dp"
|
||||
app:cardUseCompatPadding="true">
|
||||
|
||||
|
@ -39,9 +39,10 @@
|
|||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
android:paddingStart="8dp"
|
||||
android:paddingTop="8dp"
|
||||
android:paddingTop="6dp"
|
||||
android:paddingEnd="8dp"
|
||||
android:textColor="?android:attr/textColorSecondary"
|
||||
android:paddingBottom="4dp"
|
||||
android:textSize="13sp"
|
||||
tools:ignore="MissingPrefix"
|
||||
tools:text="My top tracks" />
|
||||
|
||||
|
@ -52,11 +53,9 @@
|
|||
android:layout_height="match_parent"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
android:padding="8dp"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Subhead"
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
android:paddingStart="8dp"
|
||||
android:paddingEnd="8dp"
|
||||
android:textSize="14sp"
|
||||
tools:ignore="MissingPrefix"
|
||||
tools:text="My top tracks" />
|
||||
|
||||
|
||||
</LinearLayout>
|
|
@ -48,10 +48,8 @@
|
|||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_horizontal"
|
||||
android:orientation="horizontal">
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/history"
|
||||
android:layout_width="wrap_content"
|
||||
|
@ -66,7 +64,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:background="@drawable/abs_history_playlist"
|
||||
android:padding="12dp"
|
||||
android:padding="24dp"
|
||||
app:srcCompat="@drawable/ic_access_time_white_24dp"
|
||||
app:tint="@color/md_blue_A700" />
|
||||
|
||||
|
@ -75,8 +73,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:paddingTop="8dp"
|
||||
android:text="@string/history"
|
||||
android:textSize="12sp" />
|
||||
android:text="@string/history" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
@ -94,7 +91,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:background="@drawable/abs_last_added_playlist"
|
||||
android:padding="12dp"
|
||||
android:padding="24dp"
|
||||
app:srcCompat="@drawable/ic_library_add_white_24dp"
|
||||
app:tint="@color/md_red_A700" />
|
||||
|
||||
|
@ -103,8 +100,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:paddingTop="8dp"
|
||||
android:text="@string/last_added"
|
||||
android:textSize="12sp" />
|
||||
android:text="@string/last_added" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
@ -122,7 +118,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:background="@drawable/abs_top_tracks_playlist"
|
||||
android:padding="12dp"
|
||||
android:padding="24dp"
|
||||
app:srcCompat="@drawable/ic_trending_up_white_24dp"
|
||||
app:tint="@color/md_deep_purple_A700" />
|
||||
|
||||
|
@ -131,8 +127,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:paddingTop="8dp"
|
||||
android:text="@string/my_top_tracks"
|
||||
android:textSize="12sp" />
|
||||
android:text="@string/my_top_tracks" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
@ -150,7 +145,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:background="@drawable/abs_shuffle"
|
||||
android:padding="12dp"
|
||||
android:padding="24dp"
|
||||
app:srcCompat="@drawable/ic_shuffle_white_24dp"
|
||||
app:tint="@color/md_green_A700" />
|
||||
|
||||
|
@ -159,8 +154,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:paddingTop="8dp"
|
||||
android:text="@string/shuffle"
|
||||
android:textSize="12sp" />
|
||||
android:text="@string/shuffle" />
|
||||
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
|
140
app/src/main/res/layout-sw600dp/activity_user_info.xml
Normal file
140
app/src/main/res/layout-sw600dp/activity_user_info.xml
Normal file
|
@ -0,0 +1,140 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:id="@+id/app_bar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:elevation="0dp"
|
||||
app:elevation="0dp">
|
||||
|
||||
<androidx.appcompat.widget.Toolbar
|
||||
android:id="@+id/toolbar"
|
||||
style="@style/Toolbar48"
|
||||
app:navigationIcon="@drawable/ic_keyboard_backspace_black_24dp">
|
||||
|
||||
<code.name.monkey.appthemehelper.common.views.ATEPrimaryTextView
|
||||
android:id="@+id/title"
|
||||
style="@style/BigTitleTextAppearance"
|
||||
android:text="@string/profile" />
|
||||
|
||||
</androidx.appcompat.widget.Toolbar>
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_marginEnd="128dp"
|
||||
android:layout_marginStart="128dp"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:cardCornerRadius="8dp"
|
||||
app:cardUseCompatPadding="true">
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/image_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/banner_image"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="228dp"
|
||||
android:scaleType="centerCrop"
|
||||
app:srcCompat="@drawable/material_design_default" />
|
||||
|
||||
<View
|
||||
android:id="@+id/banner_select"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="228dp"
|
||||
android:background="@color/twenty_percent_black_overlay" />
|
||||
|
||||
<code.name.monkey.retromusic.views.IconImageView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:background="?roundSelector"
|
||||
android:padding="16dp"
|
||||
app:srcCompat="@drawable/ic_round_add_a_photo_white_24dp" />
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom"
|
||||
android:layout_margin="8dp">
|
||||
|
||||
<code.name.monkey.retromusic.views.CircularImageView
|
||||
android:id="@+id/user_image"
|
||||
android:layout_width="72dp"
|
||||
android:layout_height="72dp"
|
||||
android:layout_gravity="center"
|
||||
android:scaleType="centerCrop"
|
||||
app:civ_border="false"
|
||||
app:civ_shadow="false"
|
||||
app:srcCompat="@drawable/ic_person_flat" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:layout_margin="16dp"
|
||||
android:gravity="center"
|
||||
android:padding="12dp"
|
||||
android:src="@drawable/ic_round_add_a_photo_white_24dp"
|
||||
app:tint="?iconColor" />
|
||||
</FrameLayout>
|
||||
|
||||
</FrameLayout>
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
|
||||
<com.google.android.material.textfield.TextInputLayout
|
||||
android:id="@+id/name_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="12dp"
|
||||
app:boxBackgroundMode="outline"
|
||||
app:boxCollapsedPaddingTop="16dp"
|
||||
app:boxCornerRadiusBottomEnd="8dp"
|
||||
app:boxCornerRadiusBottomStart="8dp"
|
||||
app:boxCornerRadiusTopEnd="8dp"
|
||||
app:boxCornerRadiusTopStart="8dp"
|
||||
app:boxStrokeColor="@color/md_grey_700"
|
||||
app:boxStrokeWidth="1dp"
|
||||
app:hintEnabled="true">
|
||||
|
||||
<com.google.android.material.textfield.TextInputEditText
|
||||
android:id="@+id/name"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@null"
|
||||
android:hint="@string/my_name"
|
||||
android:inputType="textPersonName|textCapWords|text"
|
||||
android:padding="16dp"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Subhead" />
|
||||
</com.google.android.material.textfield.TextInputLayout>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
<com.google.android.material.floatingactionbutton.FloatingActionButton
|
||||
android:id="@+id/next"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom|end"
|
||||
android:layout_margin="16dp"
|
||||
android:elevation="8dp"
|
||||
android:padding="16dp"
|
||||
app:srcCompat="@drawable/ate_check" />
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
|
@ -85,7 +85,6 @@
|
|||
style="@style/Widget.MaterialProgressBar.ProgressBar.Horizontal"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="3dp"
|
||||
android:layout_gravity="bottom"
|
||||
android:progress="20"
|
||||
app:mpb_progressStyle="horizontal"
|
||||
app:mpb_showProgressBackground="false"
|
||||
|
|
|
@ -4,21 +4,15 @@
|
|||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/root"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
android:layout_height="match_parent"
|
||||
android:transitionName="@string/transition_album_art">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/artist_image"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:scaleType="centerCrop"
|
||||
android:transitionName="@string/transition_album_art" />
|
||||
android:scaleType="centerCrop" />
|
||||
|
||||
<View
|
||||
android:id="@+id/gradient_background"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="bottom"
|
||||
android:background="@drawable/shadow_up_home" />
|
||||
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:layout_width="match_parent"
|
||||
|
@ -35,7 +29,8 @@
|
|||
<code.name.monkey.retromusic.views.WidthFitSquareLayout
|
||||
android:id="@+id/image_container"
|
||||
android:layout_width="320dp"
|
||||
android:layout_height="wrap_content" />
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal" />
|
||||
|
||||
<androidx.appcompat.widget.Toolbar
|
||||
android:id="@+id/toolbar"
|
||||
|
@ -44,41 +39,46 @@
|
|||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
<androidx.core.widget.NestedScrollView
|
||||
android:id="@+id/content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="fill_vertical"
|
||||
android:layout_marginStart="128dp"
|
||||
android:layout_marginEnd="128dp"
|
||||
android:background="@drawable/bg_bottom_sheet_dialog_fragment"
|
||||
android:fillViewport="true"
|
||||
android:overScrollMode="never"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/bg_bottom_sheet_dialog_fragment"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:paddingStart="28dp"
|
||||
android:paddingTop="16dp"
|
||||
android:paddingEnd="28dp">
|
||||
android:orientation="horizontal">
|
||||
|
||||
<code.name.monkey.retromusic.views.WidthFitSquareLayout
|
||||
android:layout_width="228dp"
|
||||
android:layout_width="256dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="0">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/image"
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:scaleType="centerCrop"
|
||||
android:transitionName="@string/transition_album_art" />
|
||||
android:layout_margin="8dp"
|
||||
app:cardCornerRadius="8dp"
|
||||
app:cardElevation="4dp"
|
||||
app:cardUseCompatPadding="true">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/image"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:scaleType="centerCrop" />
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
</code.name.monkey.retromusic.views.WidthFitSquareLayout>
|
||||
|
||||
<LinearLayout
|
||||
|
@ -94,8 +94,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:maxLines="2"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Title"
|
||||
android:transitionName="@string/transition_album_name"
|
||||
android:textAppearance="@style/TextAppearance.MaterialComponents.Headline3"
|
||||
tools:ignore="MissingPrefix" />
|
||||
|
||||
<code.name.monkey.appthemehelper.common.views.ATESecondaryTextView
|
||||
|
@ -111,14 +110,11 @@
|
|||
android:paddingTop="4dp"
|
||||
android:scrollHorizontally="true"
|
||||
android:singleLine="true"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Subhead"
|
||||
android:transitionName="@string/transition_album_text"
|
||||
android:textAppearance="@style/TextAppearance.MaterialComponents.Headline6"
|
||||
tools:ignore="MissingPrefix"
|
||||
tools:text="Title" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<include layout="@layout/activity_album_content" />
|
||||
|
@ -126,20 +122,14 @@
|
|||
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
<code.name.monkey.retromusic.views.CollapsingFAB
|
||||
android:id="@+id/action_shuffle_all"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom|end"
|
||||
android:layout_margin="16dp"
|
||||
android:text="@string/shuffle"
|
||||
android:textAllCaps="false"
|
||||
app:backgroundTint="@color/md_red_500"
|
||||
app:cornerRadius="25dp"
|
||||
app:icon="@drawable/ic_shuffle_white_24dp"
|
||||
app:iconGravity="start"
|
||||
app:iconPadding="12dp"
|
||||
app:layout_dodgeInsetEdges="all" />
|
||||
android:layout_gravity="end|bottom"
|
||||
android:layout_margin="10dp"
|
||||
app:showTitle="false"
|
||||
app:shuffleBackgroundColor="@color/md_black_1000" />
|
||||
|
||||
|
||||
<View
|
||||
|
|
|
@ -39,21 +39,21 @@
|
|||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
<androidx.core.widget.NestedScrollView
|
||||
android:id="@+id/content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="fill_vertical"
|
||||
android:layout_marginStart="128dp"
|
||||
android:layout_marginEnd="128dp"
|
||||
android:background="@drawable/bg_bottom_sheet_dialog_fragment"
|
||||
android:fillViewport="true"
|
||||
android:overScrollMode="never"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior"
|
||||
tools:background="@color/md_red_500">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/bg_bottom_sheet_dialog_fragment"
|
||||
android:orientation="vertical">
|
||||
|
||||
|
||||
|
@ -96,23 +96,12 @@
|
|||
</LinearLayout>
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="72dp"
|
||||
android:background="@drawable/shadow_down_strong" />
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
<code.name.monkey.retromusic.views.CollapsingFAB
|
||||
android:id="@+id/action_shuffle_all"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom|end"
|
||||
android:layout_margin="16dp"
|
||||
android:text="@string/shuffle"
|
||||
android:textAllCaps="false"
|
||||
app:backgroundTint="@color/md_red_500"
|
||||
app:cornerRadius="25dp"
|
||||
app:icon="@drawable/ic_shuffle_white_24dp"
|
||||
app:iconGravity="start"
|
||||
app:iconPadding="12dp"
|
||||
app:layout_dodgeInsetEdges="all" />
|
||||
android:layout_gravity="end|bottom"
|
||||
android:layout_margin="10dp"
|
||||
app:showTitle="false"
|
||||
app:shuffleBackgroundColor="@color/md_black_1000" />
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
|
|
|
@ -59,14 +59,13 @@
|
|||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
<androidx.core.widget.NestedScrollView
|
||||
android:id="@+id/content_container"
|
||||
android:id="@+id/container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/horizontal_margin"
|
||||
android:layout_marginEnd="@dimen/horizontal_margin"
|
||||
android:layout_weight="1"
|
||||
android:background="@color/md_white_1000"
|
||||
android:elevation="@dimen/card_elevation"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||
|
||||
<LinearLayout
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
|
@ -25,109 +25,106 @@
|
|||
android:layout_height="match_parent"
|
||||
android:background="@drawable/shadow_up" />
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/toolbar_container"
|
||||
<code.name.monkey.retromusic.views.FitSystemWindowsLayout
|
||||
android:id="@+id/safeArea"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentBottom="true"
|
||||
tools:background="@color/md_red_A700">
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<androidx.appcompat.widget.Toolbar
|
||||
android:id="@+id/player_toolbar"
|
||||
style="@style/Toolbar48"
|
||||
android:layout_height="48dp"
|
||||
android:navigationIcon="@drawable/ic_close_white_24dp"
|
||||
app:navigationIcon="@drawable/ic_close_white_24dp" />
|
||||
</FrameLayout>
|
||||
|
||||
<include layout="@layout/shadow_statusbar_toolbar" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_above="@id/toolbar_container"
|
||||
android:orientation="vertical">
|
||||
|
||||
<FrameLayout
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<include layout="@layout/status_bar" />
|
||||
</FrameLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="horizontal">
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical"
|
||||
android:padding="24dp">
|
||||
android:layout_above="@id/toolbar_container"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/title"
|
||||
fontPath="@string/circular_std_black"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:padding="12dp"
|
||||
android:text="Queue"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Display2"
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
tools:ignore="MissingPrefix" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recycler_view"
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="center_horizontal" />
|
||||
android:layout_weight="1">
|
||||
|
||||
</LinearLayout>
|
||||
<LinearLayout
|
||||
android:id="@+id/now_playing_container"
|
||||
android:layout_width="400dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:orientation="vertical">
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1">
|
||||
<code.name.monkey.retromusic.views.WidthFitSquareLayout
|
||||
android:id="@+id/album_cover_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_weight="0">
|
||||
|
||||
<fragment
|
||||
android:id="@+id/player_album_cover_fragment"
|
||||
android:name="code.name.monkey.retromusic.ui.fragments.player.PlayerAlbumCoverFragment"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" />
|
||||
</code.name.monkey.retromusic.views.WidthFitSquareLayout>
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
tools:background="@color/md_white_1000">
|
||||
|
||||
<fragment
|
||||
android:id="@+id/playback_controls_fragment"
|
||||
android:name="code.name.monkey.retromusic.ui.fragments.player.blur.BlurPlaybackControlsFragment"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" />
|
||||
</FrameLayout>
|
||||
</LinearLayout>
|
||||
</FrameLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/now_playing_container"
|
||||
android:layout_width="400dp"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:orientation="vertical">
|
||||
android:layout_weight="1"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical"
|
||||
android:padding="24dp">
|
||||
|
||||
<code.name.monkey.retromusic.views.WidthFitSquareLayout
|
||||
android:id="@+id/album_cover_container"
|
||||
<TextView
|
||||
android:id="@+id/title"
|
||||
fontPath="@string/circular_std_black"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_weight="0">
|
||||
android:padding="12dp"
|
||||
android:text="Queue"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Display2"
|
||||
android:textColor="@color/md_white_1000"
|
||||
tools:ignore="MissingPrefix" />
|
||||
|
||||
<fragment
|
||||
android:id="@+id/player_album_cover_fragment"
|
||||
android:name="code.name.monkey.retromusic.ui.fragments.player.PlayerAlbumCoverFragment"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" />
|
||||
</code.name.monkey.retromusic.views.WidthFitSquareLayout>
|
||||
|
||||
<FrameLayout
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recycler_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
tools:background="@color/md_white_1000">
|
||||
|
||||
<fragment
|
||||
android:id="@+id/playback_controls_fragment"
|
||||
android:name="code.name.monkey.retromusic.ui.fragments.player.blur.BlurPlaybackControlsFragment"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" />
|
||||
</FrameLayout>
|
||||
android:layout_gravity="center_horizontal" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/toolbar_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentBottom="true"
|
||||
tools:background="@color/md_red_A700">
|
||||
|
||||
<androidx.appcompat.widget.Toolbar
|
||||
android:id="@+id/player_toolbar"
|
||||
style="@style/Toolbar48"
|
||||
android:layout_height="48dp"
|
||||
android:navigationIcon="@drawable/ic_close_white_24dp"
|
||||
app:navigationIcon="@drawable/ic_close_white_24dp" />
|
||||
</FrameLayout>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</RelativeLayout>
|
||||
</RelativeLayout>
|
||||
</code.name.monkey.retromusic.views.FitSystemWindowsLayout>
|
||||
</FrameLayout>
|
|
@ -9,45 +9,31 @@
|
|||
android:id="@+id/app_bar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:focusable="true"
|
||||
android:layout_weight="1"
|
||||
tools:ignore="UnusedAttribute">
|
||||
|
||||
<com.google.android.material.appbar.CollapsingToolbarLayout
|
||||
android:id="@+id/collapsing_toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:contentScrim="?attr/colorPrimary"
|
||||
app:layout_scrollFlags="scroll|enterAlwaysCollapsed"
|
||||
app:layout_scrollFlags="scroll|exitUntilCollapsed"
|
||||
app:statusBarScrim="?attr/colorPrimary">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/image"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="256dp"
|
||||
android:scaleType="centerCrop"
|
||||
app:layout_collapseMode="parallax"
|
||||
app:layout_collapseParallaxMultiplier="0.7"
|
||||
tools:ignore="ContentDescription" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
app:layout_collapseMode="pin">
|
||||
android:orientation="vertical">
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:elevation="0dp"
|
||||
tools:ignore="UnusedAttribute">
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<include layout="@layout/status_bar" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
<androidx.appcompat.widget.Toolbar
|
||||
android:id="@+id/home_toolbar"
|
||||
style="@style/Toolbar"
|
||||
android:id="@+id/toolbar"
|
||||
style="@style/Toolbar48"
|
||||
tools:ignore="UnusedAttribute">
|
||||
|
||||
<LinearLayout
|
||||
|
@ -69,8 +55,8 @@
|
|||
|
||||
<code.name.monkey.retromusic.views.CircularImageView
|
||||
android:id="@+id/user_image"
|
||||
android:layout_width="36dp"
|
||||
android:layout_height="36dp"
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="40dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:layout_weight="0"
|
||||
app:civ_border="false" />
|
||||
|
@ -78,23 +64,23 @@
|
|||
</androidx.appcompat.widget.Toolbar>
|
||||
</LinearLayout>
|
||||
</com.google.android.material.appbar.CollapsingToolbarLayout>
|
||||
|
||||
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
<androidx.core.widget.NestedScrollView
|
||||
android:id="@+id/container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="96dp"
|
||||
android:layout_marginEnd="96dp"
|
||||
android:background="@drawable/bg_circular_top_corners"
|
||||
app:behavior_overlapTop="112dp"
|
||||
android:layout_marginStart="128dp"
|
||||
android:layout_marginEnd="128dp"
|
||||
android:elevation="@dimen/card_elevation"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/content_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/bg_card_line"
|
||||
android:descendantFocusability="blocksDescendants"
|
||||
android:focusable="true"
|
||||
android:focusableInTouchMode="true"
|
||||
|
@ -103,6 +89,8 @@
|
|||
<include layout="@layout/abs_playlists" />
|
||||
|
||||
<include layout="@layout/home_section_content" />
|
||||
|
||||
</LinearLayout>
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
|
|
|
@ -4,21 +4,15 @@
|
|||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/root"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
android:layout_height="match_parent"
|
||||
android:transitionName="@string/transition_album_art">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/artist_image"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:scaleType="centerCrop"
|
||||
android:transitionName="@string/transition_album_art" />
|
||||
android:scaleType="centerCrop" />
|
||||
|
||||
<View
|
||||
android:id="@+id/gradient_background"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="bottom"
|
||||
android:background="@drawable/shadow_up_home" />
|
||||
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:layout_width="match_parent"
|
||||
|
@ -46,39 +40,46 @@
|
|||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
<androidx.core.widget.NestedScrollView
|
||||
android:id="@+id/content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="fill_vertical"
|
||||
android:layout_marginStart="96dp"
|
||||
android:layout_marginEnd="96dp"
|
||||
android:background="@drawable/bg_bottom_sheet_dialog_fragment"
|
||||
android:fillViewport="true"
|
||||
android:overScrollMode="never"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/bg_bottom_sheet_dialog_fragment"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:padding="16dp">
|
||||
android:orientation="horizontal">
|
||||
|
||||
<code.name.monkey.retromusic.views.WidthFitSquareLayout
|
||||
android:layout_width="196dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="0">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/image"
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:scaleType="centerCrop"
|
||||
android:transitionName="@string/transition_album_art" />
|
||||
android:layout_margin="8dp"
|
||||
app:cardCornerRadius="8dp"
|
||||
app:cardElevation="4dp"
|
||||
app:cardUseCompatPadding="true">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/image"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:scaleType="centerCrop" />
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
</code.name.monkey.retromusic.views.WidthFitSquareLayout>
|
||||
|
||||
<LinearLayout
|
||||
|
@ -95,8 +96,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:maxLines="2"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Title"
|
||||
android:transitionName="@string/transition_album_name"
|
||||
android:textAppearance="@style/TextAppearance.MaterialComponents.Headline4"
|
||||
tools:ignore="MissingPrefix" />
|
||||
|
||||
<code.name.monkey.appthemehelper.common.views.ATESecondaryTextView
|
||||
|
@ -112,8 +112,7 @@
|
|||
android:paddingTop="4dp"
|
||||
android:scrollHorizontally="true"
|
||||
android:singleLine="true"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Subhead"
|
||||
android:transitionName="@string/transition_album_text"
|
||||
android:textAppearance="@style/TextAppearance.MaterialComponents.Headline6"
|
||||
tools:ignore="MissingPrefix"
|
||||
tools:text="Title" />
|
||||
|
||||
|
@ -130,20 +129,13 @@
|
|||
android:layout_height="72dp"
|
||||
android:background="@drawable/shadow_down_strong" />
|
||||
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
<code.name.monkey.retromusic.views.CollapsingFAB
|
||||
android:id="@+id/action_shuffle_all"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom|end"
|
||||
android:layout_margin="16dp"
|
||||
android:text="@string/shuffle"
|
||||
android:textAllCaps="false"
|
||||
app:backgroundTint="@color/md_red_500"
|
||||
app:cornerRadius="25dp"
|
||||
app:icon="@drawable/ic_shuffle_white_24dp"
|
||||
app:iconGravity="start"
|
||||
app:iconPadding="12dp"
|
||||
app:layout_dodgeInsetEdges="all" />
|
||||
android:layout_gravity="end|bottom"
|
||||
android:layout_margin="10dp"
|
||||
app:showTitle="false"
|
||||
app:shuffleBackgroundColor="@color/md_black_1000" />
|
||||
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
|
@ -39,20 +39,21 @@
|
|||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
<androidx.core.widget.NestedScrollView
|
||||
android:id="@+id/content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="fill_vertical"
|
||||
android:layout_marginStart="96dp"
|
||||
android:layout_marginEnd="96dp"
|
||||
android:background="@drawable/bg_bottom_sheet_dialog_fragment"
|
||||
android:fillViewport="true"
|
||||
android:overScrollMode="never"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/content"
|
||||
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/bg_bottom_sheet_dialog_fragment"
|
||||
android:elevation="@dimen/card_elevation"
|
||||
android:orientation="vertical"
|
||||
tools:background="@color/md_red_500">
|
||||
|
@ -99,23 +100,12 @@
|
|||
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="72dp"
|
||||
android:background="@drawable/shadow_down_strong" />
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
<code.name.monkey.retromusic.views.CollapsingFAB
|
||||
android:id="@+id/action_shuffle_all"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom|end"
|
||||
android:layout_margin="16dp"
|
||||
android:text="@string/shuffle"
|
||||
android:textAllCaps="false"
|
||||
app:backgroundTint="@color/md_red_500"
|
||||
app:cornerRadius="25dp"
|
||||
app:icon="@drawable/ic_shuffle_white_24dp"
|
||||
app:iconGravity="start"
|
||||
app:iconPadding="12dp"
|
||||
app:layout_dodgeInsetEdges="all" />
|
||||
android:layout_gravity="end|bottom"
|
||||
android:layout_margin="10dp"
|
||||
app:showTitle="false"
|
||||
app:shuffleBackgroundColor="@color/md_black_1000" />
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
|
|
|
@ -11,9 +11,8 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_margin="8dp"
|
||||
android:background="@android:color/black"
|
||||
app:cardCornerRadius="12dp"
|
||||
app:cardElevation="8dp"
|
||||
app:cardElevation="4dp"
|
||||
app:cardPreventCornerOverlap="false"
|
||||
app:cardUseCompatPadding="true">
|
||||
|
||||
|
|
103
app/src/main/res/layout-xlarge/fragment_banner_home.xml
Normal file
103
app/src/main/res/layout-xlarge/fragment_banner_home.xml
Normal file
|
@ -0,0 +1,103 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
tools:ignore="UnusedAttribute">
|
||||
|
||||
<include layout="@layout/status_bar" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||
android:id="@+id/coordinator_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:id="@+id/app_bar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="0"
|
||||
android:elevation="0dp"
|
||||
app:elevation="0dp"
|
||||
tools:ignore="UnusedAttribute">
|
||||
|
||||
<com.google.android.material.appbar.CollapsingToolbarLayout
|
||||
android:id="@+id/collapsing_toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_scrollFlags="scroll|enterAlways"
|
||||
app:titleEnabled="false">
|
||||
|
||||
<androidx.appcompat.widget.Toolbar
|
||||
android:id="@+id/toolbar"
|
||||
style="@style/Toolbar48"
|
||||
app:layout_collapseMode="pin"
|
||||
tools:ignore="UnusedAttribute">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/title"
|
||||
style="@style/BigTitleTextAppearance"
|
||||
android:text="@string/app_name" />
|
||||
|
||||
<code.name.monkey.retromusic.views.CircularImageView
|
||||
android:id="@+id/user_image"
|
||||
android:layout_width="36dp"
|
||||
android:layout_height="36dp"
|
||||
android:layout_gravity="end"
|
||||
android:layout_marginEnd="16dp"
|
||||
app:civ_border="false" />
|
||||
</androidx.appcompat.widget.Toolbar>
|
||||
</com.google.android.material.appbar.CollapsingToolbarLayout>
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
|
||||
<androidx.core.widget.NestedScrollView
|
||||
android:id="@+id/container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginStart="64dp"
|
||||
android:layout_marginEnd="64dp"
|
||||
android:layout_weight="1"
|
||||
android:background="@color/md_white_1000"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:descendantFocusability="blocksDescendants"
|
||||
android:focusable="true"
|
||||
android:focusableInTouchMode="true"
|
||||
android:orientation="vertical">
|
||||
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
android:id="@+id/image_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="4dp"
|
||||
app:cardCornerRadius="8dp"
|
||||
app:cardUseCompatPadding="true">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/image"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="196dp"
|
||||
android:scaleType="centerCrop"
|
||||
app:layout_collapseMode="parallax"
|
||||
tools:ignore="ContentDescription" />
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
|
||||
<include layout="@layout/abs_playlists" />
|
||||
|
||||
<include layout="@layout/home_section_content" />
|
||||
</LinearLayout>
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
</LinearLayout>
|
|
@ -25,63 +25,60 @@
|
|||
android:layout_height="match_parent"
|
||||
android:background="@drawable/shadow_up" />
|
||||
|
||||
<include layout="@layout/shadow_statusbar_toolbar" />
|
||||
|
||||
<LinearLayout
|
||||
<code.name.monkey.retromusic.views.FitSystemWindowsLayout
|
||||
android:id="@+id/safeArea"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginStart="64dp"
|
||||
android:layout_marginEnd="64dp"
|
||||
android:orientation="vertical">
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<include layout="@layout/status_bar" />
|
||||
</FrameLayout>
|
||||
|
||||
<code.name.monkey.retromusic.views.WidthFitSquareLayout
|
||||
android:id="@+id/album_cover_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal">
|
||||
|
||||
<fragment
|
||||
android:id="@+id/player_album_cover_fragment"
|
||||
android:name="code.name.monkey.retromusic.ui.fragments.player.PlayerAlbumCoverFragment"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content" />
|
||||
</code.name.monkey.retromusic.views.WidthFitSquareLayout>
|
||||
|
||||
<FrameLayout
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
tools:background="@color/md_white_1000">
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginStart="64dp"
|
||||
android:layout_marginEnd="64dp"
|
||||
android:orientation="vertical">
|
||||
|
||||
<fragment
|
||||
android:id="@+id/playback_controls_fragment"
|
||||
android:name="code.name.monkey.retromusic.ui.fragments.player.blur.BlurPlaybackControlsFragment"
|
||||
<code.name.monkey.retromusic.views.WidthFitSquareLayout
|
||||
android:id="@+id/album_cover_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal">
|
||||
|
||||
<fragment
|
||||
android:id="@+id/player_album_cover_fragment"
|
||||
android:name="code.name.monkey.retromusic.ui.fragments.player.PlayerAlbumCoverFragment"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content" />
|
||||
</code.name.monkey.retromusic.views.WidthFitSquareLayout>
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:layout="@layout/fragment_blur_playback_controls" />
|
||||
</FrameLayout>
|
||||
android:layout_weight="1"
|
||||
tools:background="@color/md_white_1000">
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/toolbar_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="0"
|
||||
tools:background="@color/md_red_A700">
|
||||
<fragment
|
||||
android:id="@+id/playback_controls_fragment"
|
||||
android:name="code.name.monkey.retromusic.ui.fragments.player.blur.BlurPlaybackControlsFragment"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:layout="@layout/fragment_blur_playback_controls" />
|
||||
</FrameLayout>
|
||||
|
||||
<androidx.appcompat.widget.Toolbar
|
||||
android:id="@+id/player_toolbar"
|
||||
style="@style/Toolbar48"
|
||||
android:layout_height="48dp"
|
||||
android:navigationIcon="@drawable/ic_close_white_24dp"
|
||||
app:navigationIcon="@drawable/ic_close_white_24dp" />
|
||||
</FrameLayout>
|
||||
</LinearLayout>
|
||||
<FrameLayout
|
||||
android:id="@+id/toolbar_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="0"
|
||||
tools:background="@color/md_red_A700">
|
||||
|
||||
<androidx.appcompat.widget.Toolbar
|
||||
android:id="@+id/player_toolbar"
|
||||
style="@style/Toolbar48"
|
||||
android:layout_height="48dp"
|
||||
android:navigationIcon="@drawable/ic_close_white_24dp"
|
||||
app:navigationIcon="@drawable/ic_close_white_24dp" />
|
||||
</FrameLayout>
|
||||
</LinearLayout>
|
||||
</code.name.monkey.retromusic.views.FitSystemWindowsLayout>
|
||||
</FrameLayout>
|
|
@ -1,110 +1,86 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:id="@+id/app_bar"
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:focusable="true"
|
||||
tools:ignore="UnusedAttribute">
|
||||
|
||||
<com.google.android.material.appbar.CollapsingToolbarLayout
|
||||
android:id="@+id/collapsing_toolbar"
|
||||
<include layout="@layout/status_bar" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||
android:id="@+id/coordinator_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:id="@+id/app_bar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:contentScrim="?attr/colorPrimary"
|
||||
app:layout_scrollFlags="scroll|enterAlwaysCollapsed"
|
||||
app:statusBarScrim="?attr/colorPrimary">
|
||||
android:layout_weight="0"
|
||||
android:elevation="0dp"
|
||||
app:elevation="0dp"
|
||||
tools:ignore="UnusedAttribute">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/image"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="228dp"
|
||||
android:scaleType="centerCrop"
|
||||
app:layout_collapseMode="parallax"
|
||||
app:layout_collapseParallaxMultiplier="0.7"
|
||||
tools:ignore="ContentDescription" />
|
||||
|
||||
<LinearLayout
|
||||
<com.google.android.material.appbar.CollapsingToolbarLayout
|
||||
android:id="@+id/collapsing_toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
app:layout_collapseMode="pin">
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:elevation="0dp"
|
||||
tools:ignore="UnusedAttribute">
|
||||
|
||||
<include layout="@layout/status_bar" />
|
||||
|
||||
</FrameLayout>
|
||||
app:layout_scrollFlags="scroll|enterAlways"
|
||||
app:titleEnabled="false">
|
||||
|
||||
<androidx.appcompat.widget.Toolbar
|
||||
android:id="@+id/home_toolbar"
|
||||
style="@style/Toolbar"
|
||||
android:id="@+id/toolbar"
|
||||
style="@style/Toolbar48"
|
||||
app:layout_collapseMode="pin"
|
||||
tools:ignore="UnusedAttribute">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal">
|
||||
<TextView
|
||||
android:id="@+id/title"
|
||||
style="@style/BigTitleTextAppearance"
|
||||
android:text="@string/app_name" />
|
||||
|
||||
|
||||
<TextView
|
||||
android:id="@+id/title"
|
||||
fontPath="@string/circular_std_black"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:gravity="center"
|
||||
android:text="@string/app_name"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Title"
|
||||
tools:ignore="MissingPrefix" />
|
||||
|
||||
<code.name.monkey.retromusic.views.CircularImageView
|
||||
android:id="@+id/user_image"
|
||||
android:layout_width="36dp"
|
||||
android:layout_height="36dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:layout_weight="0"
|
||||
app:civ_border="false" />
|
||||
</LinearLayout>
|
||||
<code.name.monkey.retromusic.views.CircularImageView
|
||||
android:id="@+id/user_image"
|
||||
android:layout_width="36dp"
|
||||
android:layout_height="36dp"
|
||||
android:layout_gravity="end"
|
||||
android:layout_marginEnd="16dp"
|
||||
app:civ_border="false" />
|
||||
</androidx.appcompat.widget.Toolbar>
|
||||
</LinearLayout>
|
||||
</com.google.android.material.appbar.CollapsingToolbarLayout>
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
</com.google.android.material.appbar.CollapsingToolbarLayout>
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
<androidx.core.widget.NestedScrollView
|
||||
android:id="@+id/container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="64dp"
|
||||
android:layout_marginEnd="64dp"
|
||||
android:background="@drawable/bg_bottom_sheet_dialog_fragment"
|
||||
app:behavior_overlapTop="96dp"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/content_container"
|
||||
<androidx.core.widget.NestedScrollView
|
||||
android:id="@+id/container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/bg_card_line"
|
||||
android:descendantFocusability="blocksDescendants"
|
||||
android:focusable="true"
|
||||
android:focusableInTouchMode="true"
|
||||
android:orientation="vertical">
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginStart="64dp"
|
||||
android:layout_marginEnd="64dp"
|
||||
android:layout_weight="1"
|
||||
android:background="@color/md_white_1000"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||
|
||||
<include layout="@layout/abs_playlists" />
|
||||
<LinearLayout
|
||||
android:id="@+id/content_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:descendantFocusability="blocksDescendants"
|
||||
android:focusable="true"
|
||||
android:focusableInTouchMode="true"
|
||||
android:orientation="vertical">
|
||||
|
||||
<include layout="@layout/home_section_content" />
|
||||
<include layout="@layout/abs_playlists" />
|
||||
|
||||
</LinearLayout>
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
<include layout="@layout/home_section_content" />
|
||||
</LinearLayout>
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
</LinearLayout>
|
|
@ -3,14 +3,14 @@
|
|||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/root_layout"
|
||||
android:layout_width="512dp"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
android:id="@+id/image_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="182dp"
|
||||
android:layout_height="196dp"
|
||||
app:cardCornerRadius="12dp"
|
||||
app:cardUseCompatPadding="true">
|
||||
|
||||
|
@ -32,31 +32,30 @@
|
|||
app:srcCompat="@drawable/ic_play_arrow_white_24dp" />
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
<code.name.monkey.appthemehelper.common.views.ATESecondaryTextView
|
||||
android:id="@+id/text"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
android:paddingStart="8dp"
|
||||
android:paddingTop="8dp"
|
||||
android:paddingTop="6dp"
|
||||
android:paddingEnd="8dp"
|
||||
android:textColor="?android:attr/textColorSecondary"
|
||||
android:paddingBottom="4dp"
|
||||
android:textSize="13sp"
|
||||
tools:ignore="MissingPrefix"
|
||||
tools:text="My top tracks" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
<code.name.monkey.appthemehelper.common.views.ATEPrimaryTextView
|
||||
android:id="@+id/title"
|
||||
fontPath="@string/circular_std_black"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
android:padding="8dp"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Subhead"
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
android:paddingStart="8dp"
|
||||
android:paddingEnd="8dp"
|
||||
android:textSize="14sp"
|
||||
tools:ignore="MissingPrefix"
|
||||
tools:text="My top tracks" />
|
||||
|
||||
|
||||
</LinearLayout>
|
|
@ -14,6 +14,7 @@
|
|||
android:id="@+id/collapsing_toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:contentScrim="@android:color/transparent"
|
||||
app:layout_scrollFlags="scroll|exitUntilCollapsed"
|
||||
app:titleEnabled="false">
|
||||
|
||||
|
@ -39,8 +40,8 @@
|
|||
|
||||
<androidx.appcompat.widget.Toolbar
|
||||
android:id="@+id/toolbar"
|
||||
style="@style/Toolbar48" />
|
||||
|
||||
style="@style/Toolbar48"
|
||||
app:layout_collapseMode="pin" />
|
||||
</com.google.android.material.appbar.CollapsingToolbarLayout>
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
|
@ -86,7 +87,6 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:maxLines="2"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Title"
|
||||
android:transitionName="@string/transition_album_name"
|
||||
tools:ignore="MissingPrefix" />
|
||||
|
||||
<code.name.monkey.appthemehelper.common.views.ATESecondaryTextView
|
||||
|
@ -103,7 +103,6 @@
|
|||
android:scrollHorizontally="true"
|
||||
android:singleLine="true"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Subhead"
|
||||
android:transitionName="@string/transition_album_text"
|
||||
tools:ignore="MissingPrefix"
|
||||
tools:text="Title" />
|
||||
|
||||
|
@ -112,25 +111,18 @@
|
|||
|
||||
<include layout="@layout/activity_album_content" />
|
||||
|
||||
<Space
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="72dp" />
|
||||
|
||||
</LinearLayout>
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
|
||||
<code.name.monkey.retromusic.views.CollapsingFAB
|
||||
android:id="@+id/action_shuffle_all"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom|end"
|
||||
android:layout_margin="16dp"
|
||||
android:text="@string/shuffle"
|
||||
android:textAllCaps="false"
|
||||
app:backgroundTint="@color/md_red_500"
|
||||
app:cornerRadius="25dp"
|
||||
app:icon="@drawable/ic_shuffle_white_24dp"
|
||||
app:iconGravity="start"
|
||||
app:iconPadding="12dp"
|
||||
app:layout_dodgeInsetEdges="all" />
|
||||
android:layout_gravity="end|bottom"
|
||||
android:layout_margin="10dp"
|
||||
app:showTitle="true"
|
||||
app:shuffleBackgroundColor="@color/md_black_1000" />
|
||||
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
|
@ -12,7 +12,7 @@
|
|||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recycler_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:nestedScrollingEnabled="false" />
|
||||
|
||||
<code.name.monkey.appthemehelper.common.views.ATEPrimaryTextView
|
||||
|
@ -24,7 +24,11 @@
|
|||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/more_recycler_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:nestedScrollingEnabled="false"
|
||||
android:visibility="gone" />
|
||||
|
||||
<Space
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="72dp" />
|
||||
</LinearLayout>
|
|
@ -45,4 +45,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:nestedScrollingEnabled="false" />
|
||||
|
||||
<Space
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="72dp" />
|
||||
</LinearLayout>
|
|
@ -37,7 +37,6 @@
|
|||
android:layout_height="72dp"
|
||||
android:background="@drawable/shadow_down_strong" />
|
||||
|
||||
|
||||
</code.name.monkey.retromusic.views.WidthFitSquareLayout>
|
||||
|
||||
<androidx.appcompat.widget.Toolbar
|
||||
|
@ -96,24 +95,16 @@
|
|||
|
||||
<include layout="@layout/activity_artist_content" />
|
||||
|
||||
<Space
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="72dp" />
|
||||
|
||||
</LinearLayout>
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
<code.name.monkey.retromusic.views.CollapsingFAB
|
||||
android:id="@+id/action_shuffle_all"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom|end"
|
||||
android:layout_margin="16dp"
|
||||
android:text="@string/shuffle"
|
||||
android:textAllCaps="false"
|
||||
app:backgroundTint="@color/md_red_500"
|
||||
app:cornerRadius="25dp"
|
||||
app:icon="@drawable/ic_shuffle_white_24dp"
|
||||
app:iconGravity="start"
|
||||
app:iconPadding="12dp"
|
||||
app:layout_dodgeInsetEdges="all" />
|
||||
android:layout_gravity="end|bottom"
|
||||
android:layout_margin="10dp"
|
||||
app:showTitle="true"
|
||||
app:shuffleBackgroundColor="@color/md_black_1000" />
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
|
|
|
@ -63,6 +63,7 @@
|
|||
android:background="?dividerColor" />
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
|
||||
<com.simplecityapps.recyclerview_fastscroll.views.FastScrollRecyclerView
|
||||
android:id="@+id/recycler_view"
|
||||
android:layout_width="match_parent"
|
||||
|
@ -71,6 +72,7 @@
|
|||
android:scrollbars="none"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
|
||||
|
||||
|
||||
<TextView
|
||||
android:id="@android:id/empty"
|
||||
android:layout_width="wrap_content"
|
||||
|
@ -82,14 +84,14 @@
|
|||
android:textSize="@dimen/empty_text_size"
|
||||
android:visibility="gone" />
|
||||
|
||||
<com.google.android.material.floatingactionbutton.FloatingActionButton
|
||||
<code.name.monkey.retromusic.views.CollapsingFAB
|
||||
android:id="@+id/action_shuffle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom|end"
|
||||
android:layout_margin="16dp"
|
||||
android:src="@drawable/ic_shuffle_white_24dp"
|
||||
app:layout_behavior="code.name.monkey.retromusic.misc.ScrollAwareFABBehavior" />
|
||||
|
||||
app:showTitle="true" />
|
||||
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
</LinearLayout>
|
|
@ -143,22 +143,6 @@
|
|||
|
||||
</com.google.android.material.textfield.TextInputLayout>
|
||||
|
||||
<com.google.android.material.textfield.TextInputLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<EditText
|
||||
android:id="@+id/composer"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:gravity="center_vertical"
|
||||
android:hint="@string/composer"
|
||||
android:inputType="text|textCapWords"
|
||||
android:maxLines="1"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Title" />
|
||||
|
||||
</com.google.android.material.textfield.TextInputLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
|
|
|
@ -14,7 +14,8 @@
|
|||
|
||||
<androidx.appcompat.widget.Toolbar
|
||||
android:id="@+id/toolbar"
|
||||
style="@style/Toolbar48">
|
||||
style="@style/Toolbar48"
|
||||
app:navigationIcon="@drawable/ic_keyboard_backspace_black_24dp">
|
||||
|
||||
<code.name.monkey.appthemehelper.common.views.ATEPrimaryTextView
|
||||
android:id="@+id/title"
|
||||
|
|
|
@ -0,0 +1,34 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<com.google.android.material.card.MaterialCardView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/container"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:cardCornerRadius="26dp"
|
||||
app:cardUseCompatPadding="true"
|
||||
tools:backgroundTint="@color/md_red_400">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/icon"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="14dp"
|
||||
app:srcCompat="@drawable/ic_shuffle_white_24dp"
|
||||
app:tint="@color/md_black_1000" />
|
||||
|
||||
<code.name.monkey.appthemehelper.common.views.ATEPrimaryTextView
|
||||
android:id="@+id/shuffle_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:text="@string/action_shuffle_all"
|
||||
android:textColor="@color/md_black_1000" />
|
||||
</LinearLayout>
|
||||
</com.google.android.material.card.MaterialCardView>
|
|
@ -61,7 +61,7 @@
|
|||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/action_create"
|
||||
style="@style/Widget.MaterialComponents.Button"
|
||||
style="@style/Widget.MaterialComponents.Button.TextButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="12dp"
|
||||
|
|
|
@ -15,8 +15,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="end"
|
||||
android:paddingStart="0dp"
|
||||
android:paddingEnd="12dp">
|
||||
android:padding="12dp">
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/action_cancel"
|
||||
|
|
|
@ -4,8 +4,7 @@
|
|||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@android:color/transparent"
|
||||
android:padding="12dp">
|
||||
android:background="@android:color/transparent">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
|
@ -14,23 +13,20 @@
|
|||
|
||||
<code.name.monkey.appthemehelper.common.views.ATEPrimaryTextView
|
||||
android:id="@+id/title"
|
||||
fontPath="@string/circular_std_black"
|
||||
style="@style/SubTitleTextAppearance"
|
||||
android:padding="12dp"
|
||||
android:text="@string/action_sleep_timer" />
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:padding="6dp"
|
||||
android:text="@string/action_sleep_timer"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Title"
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
tools:ignore="MissingPrefix" />
|
||||
android:layout_height="1dp"
|
||||
android:background="?dividerColor" />
|
||||
|
||||
<code.name.monkey.appthemehelper.common.views.ATESecondaryTextView
|
||||
android:id="@+id/timer_display"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingStart="6dp"
|
||||
android:paddingTop="8dp"
|
||||
android:paddingEnd="6dp"
|
||||
android:padding="12dp"
|
||||
android:textAppearance="?android:textAppearanceLarge" />
|
||||
|
||||
|
||||
|
@ -49,6 +45,7 @@
|
|||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="12dp"
|
||||
android:gravity="end"
|
||||
android:orientation="horizontal">
|
||||
|
||||
|
|
|
@ -1,98 +1,37 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/coordinator_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:id="@+id/app_bar"
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:elevation="0dp"
|
||||
android:focusable="true"
|
||||
app:elevation="0dp"
|
||||
tools:ignore="UnusedAttribute">
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<!--<com.google.android.material.appbar.CollapsingToolbarLayout
|
||||
android:id="@+id/collapsing_toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="196dp"
|
||||
app:contentScrim="?attr/colorPrimary"
|
||||
app:layout_scrollFlags="scroll|exitUntilCollapsed"
|
||||
app:statusBarScrim="?attr/colorPrimary"
|
||||
app:titleEnabled="false">
|
||||
<include layout="@layout/status_bar" />
|
||||
</FrameLayout>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/image"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:scaleType="centerCrop"
|
||||
app:layout_collapseMode="parallax"
|
||||
tools:ignore="ContentDescription" />
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
app:layout_collapseMode="pin">
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:elevation="0dp"
|
||||
tools:ignore="UnusedAttribute">
|
||||
|
||||
<include layout="@layout/status_bar" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
<androidx.appcompat.widget.Toolbar
|
||||
android:id="@+id/home_toolbar"
|
||||
style="@style/Toolbar"
|
||||
tools:ignore="UnusedAttribute">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:gravity="center"
|
||||
android:text="@string/app_name"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Title"
|
||||
tools:ignore="MissingPrefix" />
|
||||
|
||||
<code.name.monkey.retromusic.views.CircularImageView
|
||||
android:id="@+id/user_image"
|
||||
android:layout_width="36dp"
|
||||
android:layout_height="36dp"
|
||||
android:layout_gravity="end"
|
||||
android:layout_marginEnd="16dp"
|
||||
app:civ_border="false" />
|
||||
|
||||
</androidx.appcompat.widget.Toolbar>
|
||||
</LinearLayout>
|
||||
|
||||
</com.google.android.material.appbar.CollapsingToolbarLayout>-->
|
||||
<com.google.android.material.appbar.CollapsingToolbarLayout
|
||||
android:id="@+id/collapsing_toolbar"
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:id="@+id/app_bar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_scrollFlags="scroll|enterAlways"
|
||||
app:titleEnabled="false">
|
||||
android:elevation="0dp"
|
||||
android:focusable="true"
|
||||
app:elevation="0dp"
|
||||
tools:ignore="UnusedAttribute">
|
||||
|
||||
<LinearLayout
|
||||
<com.google.android.material.appbar.CollapsingToolbarLayout
|
||||
android:id="@+id/collapsing_toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<include layout="@layout/status_bar" />
|
||||
</FrameLayout>
|
||||
app:layout_scrollFlags="scroll|enterAlways"
|
||||
app:titleEnabled="false">
|
||||
|
||||
<androidx.appcompat.widget.Toolbar
|
||||
android:id="@+id/toolbar"
|
||||
|
@ -113,47 +52,47 @@
|
|||
android:layout_marginEnd="16dp"
|
||||
app:civ_border="false" />
|
||||
</androidx.appcompat.widget.Toolbar>
|
||||
</LinearLayout>
|
||||
</com.google.android.material.appbar.CollapsingToolbarLayout>
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
</com.google.android.material.appbar.CollapsingToolbarLayout>
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
<androidx.core.widget.NestedScrollView
|
||||
android:id="@+id/container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/bg_circular_top_corners"
|
||||
app:behavior_overlapTop="24dp"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/content_container"
|
||||
<androidx.core.widget.NestedScrollView
|
||||
android:id="@+id/container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:descendantFocusability="blocksDescendants"
|
||||
android:focusable="true"
|
||||
android:focusableInTouchMode="true"
|
||||
android:orientation="vertical">
|
||||
android:background="@drawable/bg_circular_top_corners"
|
||||
app:behavior_overlapTop="24dp"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
android:id="@+id/image_container"
|
||||
<LinearLayout
|
||||
android:id="@+id/content_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="4dp"
|
||||
app:cardCornerRadius="8dp"
|
||||
app:cardUseCompatPadding="true">
|
||||
android:layout_height="match_parent"
|
||||
android:descendantFocusability="blocksDescendants"
|
||||
android:focusable="true"
|
||||
android:focusableInTouchMode="true"
|
||||
android:orientation="vertical">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/image"
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
android:id="@+id/image_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="196dp"
|
||||
android:scaleType="centerCrop"
|
||||
app:layout_collapseMode="parallax"
|
||||
tools:ignore="ContentDescription" />
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="4dp"
|
||||
app:cardCornerRadius="8dp"
|
||||
app:cardUseCompatPadding="true">
|
||||
|
||||
<include layout="@layout/abs_playlists" />
|
||||
<ImageView
|
||||
android:id="@+id/image"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="196dp"
|
||||
android:scaleType="centerCrop"
|
||||
app:layout_collapseMode="parallax"
|
||||
tools:ignore="ContentDescription" />
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
|
||||
<include layout="@layout/home_section_content" />
|
||||
</LinearLayout>
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
<include layout="@layout/abs_playlists" />
|
||||
|
||||
<include layout="@layout/home_section_content" />
|
||||
</LinearLayout>
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
</LinearLayout>
|
|
@ -6,6 +6,13 @@
|
|||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<include layout="@layout/status_bar" />
|
||||
</FrameLayout>
|
||||
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||
android:id="@+id/coordinator_layout"
|
||||
android:layout_width="match_parent"
|
||||
|
@ -27,38 +34,25 @@
|
|||
app:layout_scrollFlags="scroll|enterAlways"
|
||||
app:titleEnabled="false">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
<androidx.appcompat.widget.Toolbar
|
||||
android:id="@+id/toolbar"
|
||||
style="@style/Toolbar48"
|
||||
app:layout_collapseMode="pin"
|
||||
tools:ignore="UnusedAttribute">
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
<TextView
|
||||
android:id="@+id/title"
|
||||
style="@style/BigTitleTextAppearance"
|
||||
android:text="@string/app_name" />
|
||||
|
||||
<include layout="@layout/status_bar" />
|
||||
</FrameLayout>
|
||||
|
||||
<androidx.appcompat.widget.Toolbar
|
||||
android:id="@+id/toolbar"
|
||||
style="@style/Toolbar48"
|
||||
app:layout_collapseMode="pin"
|
||||
tools:ignore="UnusedAttribute">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/title"
|
||||
style="@style/BigTitleTextAppearance"
|
||||
android:text="@string/app_name" />
|
||||
|
||||
<code.name.monkey.retromusic.views.CircularImageView
|
||||
android:id="@+id/user_image"
|
||||
android:layout_width="36dp"
|
||||
android:layout_height="36dp"
|
||||
android:layout_gravity="end"
|
||||
android:layout_marginEnd="16dp"
|
||||
app:civ_border="false" />
|
||||
</androidx.appcompat.widget.Toolbar>
|
||||
</LinearLayout>
|
||||
<code.name.monkey.retromusic.views.CircularImageView
|
||||
android:id="@+id/user_image"
|
||||
android:layout_width="36dp"
|
||||
android:layout_height="36dp"
|
||||
android:layout_gravity="end"
|
||||
android:layout_marginEnd="16dp"
|
||||
app:civ_border="false" />
|
||||
</androidx.appcompat.widget.Toolbar>
|
||||
</com.google.android.material.appbar.CollapsingToolbarLayout>
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
app:layout_collapseMode="pin">
|
||||
|
||||
<androidx.appcompat.widget.Toolbar
|
||||
<code.name.monkey.retromusic.views.TintIconColorToolbar
|
||||
android:id="@+id/toolbar"
|
||||
style="@style/Toolbar48"
|
||||
tools:ignore="UnusedAttribute">
|
||||
|
@ -57,7 +57,7 @@
|
|||
android:textAppearance="@style/TextAppearance.AppCompat.Large"
|
||||
tools:ignore="MissingPrefix" />
|
||||
|
||||
</androidx.appcompat.widget.Toolbar>
|
||||
</code.name.monkey.retromusic.views.TintIconColorToolbar>
|
||||
|
||||
<ViewStub
|
||||
android:id="@+id/cab_stub"
|
||||
|
|
|
@ -7,7 +7,6 @@
|
|||
android:background="@android:color/transparent"
|
||||
android:clickable="true"
|
||||
android:focusable="false"
|
||||
android:transitionName="@string/transition_mini_player"
|
||||
tools:ignore="UnusedAttribute">
|
||||
|
||||
<LinearLayout
|
||||
|
|
|
@ -26,11 +26,18 @@
|
|||
app:cardCornerRadius="8dp"
|
||||
app:cardUseCompatPadding="true">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/image_1"
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:scaleType="centerCrop" />
|
||||
android:id="@+id/image_1" android:layout_height="match_parent"
|
||||
android:background="@color/md_red_400"
|
||||
android:padding="8dp"
|
||||
android:text="New music mix"
|
||||
android:textAppearance="@style/TextAppearance.MaterialComponents.Headline4"
|
||||
app:autoSizeMaxTextSize="128sp"
|
||||
app:autoSizeMinTextSize="24sp"
|
||||
app:autoSizeStepGranularity="1sp"
|
||||
app:autoSizeTextType="uniform" />
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
</code.name.monkey.retromusic.views.WidthFitSquareLayout>
|
||||
</FrameLayout>
|
||||
|
|
60
app/src/main/res/layout/item_image_gradient.xml
Normal file
60
app/src/main/res/layout/item_image_gradient.xml
Normal file
|
@ -0,0 +1,60 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<com.google.android.material.card.MaterialCardView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
app:cardCornerRadius="8dp"
|
||||
app:cardUseCompatPadding="true"
|
||||
tools:backgroundTint="@color/md_red_400">
|
||||
|
||||
<code.name.monkey.retromusic.views.WidthFitSquareLayout
|
||||
android:id="@+id/image_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/image"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:scaleType="centerCrop"
|
||||
android:transitionName="@string/transition_album_art"
|
||||
tools:ignore="ContentDescription" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<Space
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1" />
|
||||
|
||||
<View
|
||||
android:id="@+id/mask"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:background="@drawable/shadow_up_home" />
|
||||
</LinearLayout>
|
||||
</code.name.monkey.retromusic.views.WidthFitSquareLayout>
|
||||
|
||||
|
||||
<TextView
|
||||
android:id="@+id/title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom|center"
|
||||
android:gravity="center"
|
||||
android:maxLines="2"
|
||||
android:paddingStart="8dp"
|
||||
android:paddingEnd="8dp"
|
||||
android:paddingBottom="8dp"
|
||||
android:textColor="@color/md_white_1000"
|
||||
tools:text="@string/appbar_scrolling_view_behavior" />
|
||||
|
||||
|
||||
</com.google.android.material.card.MaterialCardView>
|
|
@ -41,8 +41,8 @@
|
|||
android:paddingStart="8dp"
|
||||
android:paddingTop="6dp"
|
||||
android:paddingEnd="8dp"
|
||||
android:textSize="13sp"
|
||||
android:paddingBottom="4dp"
|
||||
android:textSize="13sp"
|
||||
tools:ignore="MissingPrefix"
|
||||
tools:text="My top tracks" />
|
||||
|
||||
|
|
|
@ -25,11 +25,6 @@
|
|||
android:background="@drawable/bg_circular_top_corners"
|
||||
android:orientation="vertical">
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:background="?dividerColor" />
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/mini_player_container"
|
||||
android:layout_width="match_parent"
|
||||
|
@ -44,7 +39,7 @@
|
|||
tools:layout="@layout/fragment_mini_player" />
|
||||
</FrameLayout>
|
||||
|
||||
<com.google.android.material.bottomnavigation.BottomNavigationView
|
||||
<code.name.monkey.retromusic.views.BottomNavigationBarTinted
|
||||
android:id="@+id/bottom_navigation"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="56dp"
|
||||
|
@ -56,7 +51,7 @@
|
|||
app:itemTextColor="@drawable/bottom_navigation_item_colors"
|
||||
app:labelVisibilityMode="labeled"
|
||||
app:menu="@menu/bottom_navigation_main" />
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
|
|
|
@ -73,7 +73,7 @@
|
|||
<string name="pref_blur_amount_summary">Ajuste de desenfoque con temas compatibles, menor es más rápido</string>
|
||||
<string name="pref_keep_screen_on_title">Mantener pantalla encendida</string>
|
||||
<string name="pref_keep_screen_on_summary">Ten en cuenta que habilitar esta característica puede afectar al rendimiento de la batería</string>
|
||||
<string name="buy_retromusic_pro">Comprar RetroMusic Pro</string>
|
||||
|
||||
<string name="cancel_current_timer">Cancelar temporizador actual</string>
|
||||
|
||||
<string name="card">Tarjeta</string>
|
||||
|
|
|
@ -51,6 +51,7 @@
|
|||
<item>@string/card_color_style</item>
|
||||
<item>@string/card_circular_style</item>
|
||||
<item>@string/image</item>
|
||||
<item>@string/image_gradient</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="pref_grid_style_list_values">
|
||||
|
@ -59,6 +60,7 @@
|
|||
<item>2</item>
|
||||
<item>3</item>
|
||||
<item>4</item>
|
||||
<item>5</item>
|
||||
</string-array>
|
||||
|
||||
<array name="pref_grid_style_layout">
|
||||
|
@ -67,6 +69,7 @@
|
|||
<item>@layout/item_card_color</item>
|
||||
<item>@layout/item_grid_circle</item>
|
||||
<item>@layout/image</item>
|
||||
<item>@layout/item_image_gradient</item>
|
||||
</array>
|
||||
|
||||
<string-array name="pref_home_grid_style_list_titles">
|
||||
|
@ -203,4 +206,5 @@
|
|||
<item>1</item>
|
||||
</string-array>
|
||||
|
||||
<string name="image_gradient">Gradient image</string>
|
||||
</resources>
|
|
@ -1,6 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<declare-styleable name="CollapsingFAB">
|
||||
<attr name="shuffleBackgroundColor" format="color" />
|
||||
<attr name="showTitle" format="boolean" />
|
||||
</declare-styleable>
|
||||
<attr name="roundSelector" format="reference" />
|
||||
<attr name="rectSelector" format="reference" />
|
||||
<attr name="rectSelectorStrong" format="reference" />
|
||||
|
|
|
@ -16,7 +16,6 @@
|
|||
<item name="action_song_sort_order_album" type="id" />
|
||||
<item name="action_song_sort_order_year" type="id" />
|
||||
<item name="action_song_sort_order_date" type="id" />
|
||||
<item name="action_song_sort_composer" type="id" />
|
||||
|
||||
<item name="action_multi_select_adapter_check_all" type="id" />
|
||||
</resources>
|
|
@ -552,7 +552,7 @@
|
|||
<string name="pref_keep_pause_on_zero_volume_summary">Pause playing on zero and plays after raise volume. Warning when you increase the volume it starts playing even your outside the app</string>
|
||||
<string name="pref_keep_pause_on_zero_volume_title">Pause on zero</string>
|
||||
<string name="whats_new">What\'s New</string>
|
||||
<string name="composer">Composer</string>
|
||||
|
||||
<string name="suggestion_songs">Suggestions</string>
|
||||
<string name="fit">Fit</string>
|
||||
</resources>
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
</style>
|
||||
|
||||
<style name="BigTitleTextAppearance">
|
||||
<item name="android:textAppearance">@style/TextAppearance.AppCompat.Title</item>
|
||||
<item name="android:textAppearance">@style/TextAppearance.MaterialComponents.Headline6</item>
|
||||
<item name="android:layout_width">wrap_content</item>
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<item name="fontPath">@string/circular_std_black</item>
|
||||
|
@ -76,5 +76,18 @@
|
|||
<item name="android:textStyle">bold</item>
|
||||
</style>
|
||||
|
||||
<style name="MaterialShuffleButtonStyle" parent="Widget.MaterialComponents.Button.Icon">
|
||||
<item name="android:layout_width">wrap_content</item>
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<item name="android:layout_margin">16dp</item>
|
||||
<item name="android:text">@string/action_shuffle_all</item>
|
||||
<item name="android:textAllCaps">false</item>
|
||||
<item name="cornerRadius">25dp</item>
|
||||
<item name="android:padding">16dp</item>
|
||||
<item name="icon">@drawable/ic_shuffle_white_24dp</item>
|
||||
<item name="backgroundTint">@color/md_red_400</item>
|
||||
<item name="iconGravity">start</item>
|
||||
</style>
|
||||
|
||||
|
||||
</resources>
|
||||
|
|
|
@ -28,14 +28,6 @@
|
|||
android:title="@string/accent_color"
|
||||
app:iconSpaceReserved="false" />
|
||||
|
||||
<code.name.monkey.appthemehelper.common.prefs.supportv7.ATESwitchPreference
|
||||
android:defaultValue="false"
|
||||
android:key="should_color_navigation_bar"
|
||||
android:persistent="false"
|
||||
android:summary="@string/pref_summary_colored_navigation_bar"
|
||||
android:title="@string/pref_title_navigation_bar"
|
||||
app:iconSpaceReserved="false" />
|
||||
|
||||
<code.name.monkey.appthemehelper.common.prefs.supportv7.ATESwitchPreference
|
||||
android:defaultValue="false"
|
||||
android:key="adaptive_color_app"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue