New colors

This commit is contained in:
Karim Abou Zeid 2015-03-30 21:42:54 +02:00
commit 696299b960
32 changed files with 116 additions and 164 deletions

View file

@ -61,7 +61,7 @@
android:label="@string/title_activity_search" >
</activity>
<receiver android:name=".widget.MusicPlayerWidget" >
<receiver android:name=".appwidget.MusicPlayerWidget" >
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>

View file

@ -43,7 +43,7 @@ public class NavigationDrawerItemAdapter extends ArrayAdapter<NavigationDrawerIt
icon.setImageDrawable(Util.getTintedDrawable(getContext().getResources(), item.imageRes, Util.resolveColor(getContext(), R.attr.colorAccent)));
} else {
title.setTextColor(Util.resolveColor(getContext(), R.attr.title_text_color));
icon.setImageDrawable(Util.getTintedDrawable(getContext().getResources(), item.imageRes, Util.resolveColor(getContext(), R.attr.title_text_color)));
icon.setImageDrawable(Util.getTintedDrawable(getContext().getResources(), item.imageRes, Util.resolveColor(getContext(), R.attr.themed_drawable_color)));
}
View container = convertView.findViewById(R.id.container);
container.setActivated(position == currentChecked);

View file

@ -2,6 +2,7 @@ package com.kabouzeid.gramophone.adapter.songadapter;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Typeface;
import android.support.v4.util.Pair;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
@ -81,6 +82,7 @@ public class SongAdapter extends RecyclerView.Adapter<SongAdapter.ViewHolder> {
int accentColor = Util.resolveColor(activity, R.attr.colorAccent);
holder.songTitle.setText(activity.getResources().getString(R.string.shuffle_all).toUpperCase());
holder.songTitle.setTextColor(accentColor);
holder.songTitle.setTypeface(Typeface.create("sans-serif-medium", Typeface.NORMAL));
holder.songInfo.setVisibility(View.GONE);
holder.overflowButton.setVisibility(View.GONE);
final int padding = activity.getResources().getDimensionPixelSize(R.dimen.default_item_margin) / 2;

View file

@ -1,4 +1,4 @@
package com.kabouzeid.gramophone.widget;
package com.kabouzeid.gramophone.appwidget;
import android.app.PendingIntent;
import android.appwidget.AppWidgetManager;

View file

@ -136,7 +136,7 @@ public class PlayingNotificationHelper {
private void setUpCollapsedLayout(final Song song) {
notificationLayout.setTextViewText(R.id.song_title, song.title);
notificationLayout.setTextViewText(R.id.song_artist, song.title);
notificationLayout.setTextViewText(R.id.song_artist, song.artistName);
}
private void setUpExpandedLayout(final Song song) {

View file

@ -9,6 +9,7 @@ public class UIPreferenceChangedEvent {
public static final int COLORED_NAVIGATION_BAR_ARTIST_CHANGED = 2;
public static final int COLORED_NAVIGATION_BAR_ALBUM_CHANGED = 3;
public static final int PLAYBACK_CONTROLLER_CARD_CHANGED = 4;
public static final int TOOLBAR_TRANSPARENT_CHANGED = 5;
private int action;
private Object value;

View file

@ -35,7 +35,8 @@ public abstract class AbsFabActivity extends AbsBaseActivity {
super.onPostCreate(savedInstanceState);
try {
App.bus.register(busEventListener);
} catch (Exception ignored) {}
} catch (Exception ignored) {
}
setUpFab();
}
@ -64,14 +65,6 @@ public abstract class AbsFabActivity extends AbsBaseActivity {
}
});
getFab().setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
Toast.makeText(AbsFabActivity.this, getResources().getString(R.string.hint_fling_to_open), Toast.LENGTH_SHORT).show();
return true;
}
});
getFab().setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent event) {
@ -141,7 +134,8 @@ public abstract class AbsFabActivity extends AbsBaseActivity {
super.onDestroy();
try {
App.bus.unregister(busEventListener);
} catch (Exception ignored) {}
} catch (Exception ignored) {
}
}
public void onMusicRemoteEvent(MusicRemoteEvent event) {

View file

@ -1,26 +1,22 @@
package com.kabouzeid.gramophone.ui.fragments.mainactivityfragments;
import android.os.Bundle;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.adapter.songadapter.SongAdapter;
/**
* Created by karim on 29.12.14.
* Created by karim on 30.03.15.
*/
public class SongViewFragment extends AbsMainActivityFragment {
public static final String TAG = SongViewFragment.class.getSimpleName();
public abstract class AbsMainActivityRecyclerViewFragment extends AbsMainActivityFragment {
private RecyclerView recyclerView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_songview, container, false);
return inflater.inflate(getLayoutResId(), container, false);
}
@Override
@ -31,9 +27,9 @@ public class SongViewFragment extends AbsMainActivityFragment {
}
private void setUpRecyclerView() {
recyclerView.setLayoutManager(new GridLayoutManager(getActivity(), 1));
recyclerView.setLayoutManager(getLayoutManager());
recyclerView.setPadding(0, getTopPadding(), 0, getBottomPadding());
recyclerView.setAdapter(new SongAdapter(getActivity()));
recyclerView.setAdapter(getAdapter());
}
@Override
@ -47,4 +43,14 @@ public class SongViewFragment extends AbsMainActivityFragment {
super.disableViews();
recyclerView.setEnabled(false);
}
protected abstract int getLayoutResId();
protected abstract RecyclerView.LayoutManager getLayoutManager();
protected abstract RecyclerView.Adapter getAdapter();
public RecyclerView getRecyclerView() {
return recyclerView;
}
}

View file

@ -1,49 +1,29 @@
package com.kabouzeid.gramophone.ui.fragments.mainactivityfragments;
import android.os.Bundle;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.kabouzeid.gramophone.App;
import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.adapter.AlbumAdapter;
import com.kabouzeid.gramophone.model.UIPreferenceChangedEvent;
import com.squareup.otto.Subscribe;
/**
* Created by karim on 22.11.14.
*/
public class AlbumViewFragment extends AbsMainActivityFragment {
public class AlbumViewFragment extends AbsMainActivityRecyclerViewFragment {
public static final String TAG = AlbumViewFragment.class.getSimpleName();
private RecyclerView recyclerView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_album_view, container, false);
recyclerView = (RecyclerView) view.findViewById(R.id.recycler_view);
setUpRecyclerView();
return view;
}
private void setUpRecyclerView() {
recyclerView.setLayoutManager(new GridLayoutManager(getActivity(), 2));
recyclerView.setPadding(0, getTopPadding(), 0, getBottomPadding());
recyclerView.setAdapter(new AlbumAdapter(getActivity()));
protected int getLayoutResId() {
return R.layout.fragment_album_view;
}
@Override
public void enableViews() {
super.enableViews();
recyclerView.setEnabled(true);
protected RecyclerView.LayoutManager getLayoutManager() {
return new GridLayoutManager(getActivity(), 2);
}
@Override
public void disableViews() {
super.disableViews();
recyclerView.setEnabled(false);
protected RecyclerView.Adapter getAdapter() {
return new AlbumAdapter(getActivity());
}
}

View file

@ -1,48 +1,27 @@
package com.kabouzeid.gramophone.ui.fragments.mainactivityfragments;
import android.os.Bundle;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.adapter.ArtistAdapter;
public class ArtistViewFragment extends AbsMainActivityFragment {
public class ArtistViewFragment extends AbsMainActivityRecyclerViewFragment {
public static final String TAG = ArtistViewFragment.class.getSimpleName();
private RecyclerView recyclerView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_artist_view, container, false);
protected int getLayoutResId() {
return R.layout.fragment_artist_view;
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
recyclerView = (RecyclerView) view.findViewById(R.id.recycler_view);
setUpRecyclerView();
}
private void setUpRecyclerView() {
recyclerView.setLayoutManager(new GridLayoutManager(getActivity(), 1));
recyclerView.setPadding(0, getTopPadding(), 0, getBottomPadding());
recyclerView.setAdapter(new ArtistAdapter(getActivity()));
protected RecyclerView.LayoutManager getLayoutManager() {
return new GridLayoutManager(getActivity(), 1);
}
@Override
public void enableViews() {
super.enableViews();
recyclerView.setEnabled(true);
}
@Override
public void disableViews() {
super.disableViews();
recyclerView.setEnabled(false);
protected RecyclerView.Adapter getAdapter() {
return new ArtistAdapter(getActivity());
}
}

View file

@ -1,55 +1,27 @@
package com.kabouzeid.gramophone.ui.fragments.mainactivityfragments;
import android.os.Bundle;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.adapter.PlaylistAdapter;
public class PlaylistViewFragment extends AbsMainActivityFragment {
public class PlaylistViewFragment extends AbsMainActivityRecyclerViewFragment {
public static final String TAG = PlaylistViewFragment.class.getSimpleName();
private RecyclerView recyclerView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_playlist_view, container, false);
protected int getLayoutResId() {
return R.layout.fragment_playlist_view;
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
recyclerView = (RecyclerView) view.findViewById(R.id.recycler_view);
setUpRecyclerView();
}
private void setUpRecyclerView() {
recyclerView.setLayoutManager(new GridLayoutManager(getActivity(), 1));
recyclerView.setPadding(0, getTopPadding(), 0, getBottomPadding());
setUpAdapter();
}
private void setUpAdapter() {
if (recyclerView != null) {
PlaylistAdapter adapter = new PlaylistAdapter(getActivity());
recyclerView.setAdapter(adapter);
}
protected RecyclerView.LayoutManager getLayoutManager() {
return new GridLayoutManager(getActivity(), 1);
}
@Override
public void enableViews() {
super.enableViews();
recyclerView.setEnabled(true);
}
@Override
public void disableViews() {
super.disableViews();
recyclerView.setEnabled(false);
protected RecyclerView.Adapter getAdapter() {
return new PlaylistAdapter(getActivity());
}
}

View file

@ -1,4 +1,4 @@
package com.kabouzeid.gramophone.view;
package com.kabouzeid.gramophone.ui.widget;
import android.content.Context;
import android.util.AttributeSet;

View file

@ -58,6 +58,9 @@ public final class PreferenceUtils {
// Key used to en or disable the colored navigation bar
public static final String PLAYBACK_CONTROLLER_BOX = "playback_controller_card";
/* Saves the last page the pager was on in {@link MainActivity} */
public static final String TRANSPARENT_TOOLBAR = "transparent_toolbar";
private static PreferenceUtils sInstance;
private final SharedPreferences mPreferences;
@ -182,6 +185,16 @@ public final class PreferenceUtils {
editor.apply();
}
public final boolean transparentToolbar() {
return mPreferences.getBoolean(TRANSPARENT_TOOLBAR, true);
}
public void setTransparentToolbar(final boolean value) {
final SharedPreferences.Editor editor = mPreferences.edit();
editor.putBoolean(TRANSPARENT_TOOLBAR, value);
editor.apply();
}
public final boolean downloadMissingArtistImages() {
return mPreferences.getBoolean(DOWNLOAD_MISSING_ARTIST_IMAGES, true);
}

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/list_item_activated"/>
<solid android:color="@color/list_item_selector_activated"/>
</shape>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/list_item_activated_dark"/>
<solid android:color="@color/list_item_selector_activated_dark"/>
</shape>

View file

@ -54,10 +54,12 @@
android:fontFamily="sans-serif-medium"
android:gravity="bottom|left"
android:singleLine="true"
android:textSize="14dp"
android:textAppearance="@style/TextAppearance.AppCompat.Title"
android:textColor="@color/white"/>
<TextView
android:textSize="14dp"
android:id="@+id/song_total_time"
android:layout_width="wrap_content"
android:layout_height="match_parent"
@ -75,7 +77,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="@color/materialmusic_default_bar_color"
android:background="?default_bar_color"
android:orientation="vertical"
>

View file

@ -1,6 +1,5 @@
<FrameLayout
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:focusable="true"
@ -15,7 +14,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.kabouzeid.gramophone.view.SquareImageView
<com.kabouzeid.gramophone.ui.widget.SquareImageView
android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="match_parent"

View file

@ -55,6 +55,8 @@
</android.support.v7.widget.Toolbar>
<com.astuetz.PagerSlidingTabStrip
app:pstsTabBackground="?selectableItemBackground"
app:pstsIndicatorHeight="3dp"
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="@dimen/tab_height"

View file

@ -40,6 +40,7 @@
android:singleLine="true"
android:textAppearance="@style/TextAppearance.AppCompat.Title"
android:textColor="@color/white"
android:textSize="14dp"
android:textStyle="bold"/>
<TextView
@ -50,6 +51,7 @@
android:fontFamily="sans-serif"
android:gravity="bottom|right"
android:singleLine="true"
android:textSize="14dp"
android:textAppearance="@style/TextAppearance.AppCompat.Title"
android:textColor="@color/white"/>
@ -60,7 +62,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/media_controller_container"
android:background="@color/materialmusic_default_bar_color"
android:background="?default_bar_color"
android:orientation="vertical"
android:paddingBottom="16dp"
android:paddingLeft="72dp"

View file

@ -15,7 +15,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.kabouzeid.gramophone.view.SquareImageView
<com.kabouzeid.gramophone.ui.widget.SquareImageView
android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="match_parent"

View file

@ -12,6 +12,7 @@
android:scrollbars="none"/>
<View
android:layout_marginTop="-8dp"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="?separator_color"/>

View file

@ -14,7 +14,7 @@
android:gravity="center"
android:orientation="vertical">
<com.kabouzeid.gramophone.view.SquareImageView
<com.kabouzeid.gramophone.ui.widget.SquareImageView
android:id="@+id/album_art"
android:layout_width="match_parent"
android:layout_height="match_parent"
@ -25,7 +25,7 @@
android:id="@+id/footer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/materialmusic_default_bar_color"
android:background="?default_bar_color"
android:orientation="vertical"
android:padding="16dp"
android:transitionName="@string/transition_album_text">

View file

@ -8,7 +8,7 @@
android:foreground="?rect_selector">
<LinearLayout
android:background="@color/materialmusic_default_bar_color"
android:background="?default_bar_color"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
@ -24,7 +24,7 @@
android:id="@+id/footer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/materialmusic_default_bar_color">
android:background="?default_bar_color">
<LinearLayout
android:layout_width="wrap_content"

View file

@ -11,7 +11,7 @@
android:orientation="horizontal"
android:paddingLeft="16dp">
<com.kabouzeid.gramophone.view.SquareImageView
<com.kabouzeid.gramophone.ui.widget.SquareImageView
android:id="@+id/album_art"
android:layout_width="40dp"
android:layout_height="40dp"

View file

@ -7,7 +7,7 @@
android:orientation="horizontal"
android:paddingLeft="16dp">
<com.kabouzeid.gramophone.view.SquareImageView
<com.kabouzeid.gramophone.ui.widget.SquareImageView
android:id="@+id/image"
android:layout_width="40dp"
android:layout_height="40dp"

View file

@ -12,7 +12,7 @@
android:orientation="horizontal"
android:paddingLeft="16dp">
<com.kabouzeid.gramophone.view.SquareImageView
<com.kabouzeid.gramophone.ui.widget.SquareImageView
android:id="@+id/album_art"
android:layout_width="40dp"
android:layout_height="40dp"

View file

@ -15,8 +15,6 @@
<attr name="drawable_color" format="color"/>
<attr name="drawable_color_enabled" format="color"/>
<attr name="icon_overflow" format="reference"/>
<attr name="themed_drawable_color" format="color"/>
<attr name="themed_drawable_activated_color" format="color"/>

View file

@ -13,9 +13,9 @@
<color name="materialmusic_navigation_drawer_background_color">@color/grey_300</color>
<color name="materialmusic_separator_color">#0C000000</color>
<color name="materialmusic_default_bar_color">@color/white</color>
<color name="materialmusic_themed_drawable_color">@color/grey_800</color>
<color name="materialmusic_themed_drawable_color">#8A000000</color>
<color name="materialmusic_themed_drawable_activated_color">@color/materialmusic_accent_color</color>
<color name="list_item_activated">#D0D0D0</color>
<color name="list_item_selector_activated">#D0D0D0</color>
<!--dark theme-->
<color name="materialmusic_dark_color">@color/indigo_500</color>
@ -29,12 +29,15 @@
<color name="materialmusic_dark_default_bar_color">@color/grey_900</color>
<color name="materialmusic_dark_themed_drawable_color">@color/white</color>
<color name="materialmusic_dark_themed_drawable_activated_color">@color/materialmusic_dark_accent_color</color>
<color name="list_item_activated_dark">#55000000</color>
<color name="list_item_selector_activated_dark">#55000000</color>
<!--round and rect selector-->
<color name="button_selected">#D0D0D0</color>
<color name="button_selected_dark">#30FFFFFF</color>
<color name="sliding_tabs_activated">#FFFFFF</color>
<color name="sliding_tabs_deactivated">#99FFFFFF</color>
<!--notification-->
<drawable name="notification_template_divider_media">#29ffffff</drawable>
</resources>

View file

@ -13,10 +13,11 @@
<style name="Theme.MaterialMusic.Notification.Title" parent="@android:style/TextAppearance.StatusBar.EventContent.Title"/>
<style name="OverFlowButton">
<item name="android:tint">?themed_drawable_color</item>
<item name="android:src">@drawable/ic_more_vert_white_24dp</item>
<item name="android:padding">12dp</item>
<item name="android:layout_width">48dp</item>
<item name="android:layout_height">48dp</item>
<item name="android:src">?icon_overflow</item>
<item name="android:scaleType">fitXY</item>
<item name="android:background">?round_selector</item>
<item name="android:layout_centerVertical">true</item>

View file

@ -23,8 +23,6 @@
<item name="rect_selector">@drawable/rect_selector_dark</item>
<item name="separator_color">@color/materialmusic_dark_separator_color</item>
<item name="icon_overflow">@drawable/ic_more_vert_white_24dp</item>
<item name="themed_drawable_color">@color/materialmusic_dark_themed_drawable_color</item>
<item name="themed_drawable_activated_color">@color/materialmusic_dark_themed_drawable_activated_color</item>
@ -58,8 +56,6 @@
<item name="rect_selector">@drawable/rect_selector</item>
<item name="separator_color">@color/materialmusic_separator_color</item>
<item name="icon_overflow">@drawable/ic_more_vert_black_24dp</item>
<item name="themed_drawable_color">@color/materialmusic_themed_drawable_color</item>
<item name="themed_drawable_activated_color">@color/materialmusic_themed_drawable_activated_color</item>
@ -71,6 +67,7 @@
</style>
<style name="PlayPauseFabParent">
<item name="elevation">8dp</item>
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="fab_shadow">true</item>

View file

@ -1,34 +1,34 @@
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory
android:title="@string/pref_header_ui">
<com.afollestad.materialdialogs.prefs.MaterialListPreference
android:defaultValue="1"
android:entries="@array/pref_general_theme_list_titles"
android:entryValues="@array/pref_general_theme_list_values"
android:key="general_theme"
android:negativeButtonText="@null"
android:positiveButtonText="@null"
android:title="@string/pref_title_general_theme"/>
<com.afollestad.materialdialogs.prefs.MaterialListPreference
android:defaultValue="1"
android:entries="@array/pref_general_theme_list_titles"
android:entryValues="@array/pref_general_theme_list_values"
android:key="general_theme"
android:negativeButtonText="@null"
android:positiveButtonText="@null"
android:title="@string/pref_title_general_theme"/>
<CheckBoxPreference
android:defaultValue="true"
android:key="playback_controller_card"
android:title="@string/pref_title_show_playback_controller_card"/>
<CheckBoxPreference
android:defaultValue="true"
android:key="playback_controller_card"
android:title="@string/pref_title_show_playback_controller_card"/>
<CheckBoxPreference
android:defaultValue="true"
android:key="colored_navigation_bar_artist"
android:title="@string/pref_title_colored_navigation_bar_artists"/>
<CheckBoxPreference
android:defaultValue="true"
android:key="colored_navigation_bar_artist"
android:title="@string/pref_title_colored_navigation_bar_artists"/>
<CheckBoxPreference
android:defaultValue="true"
android:key="colored_navigation_bar_album"
android:title="@string/pref_title_colored_navigation_bar_albums"/>
<CheckBoxPreference
android:defaultValue="true"
android:key="colored_navigation_bar_album"
android:title="@string/pref_title_colored_navigation_bar_albums"/>
<CheckBoxPreference
android:defaultValue="true"
android:key="colored_album_footers"
android:title="@string/pref_title_colored_album_footers"/>
<CheckBoxPreference
android:defaultValue="true"
android:key="colored_album_footers"
android:title="@string/pref_title_colored_album_footers"/>
</PreferenceCategory>
</PreferenceScreen>