Loading src/org/lineageos/eleven/adapters/PlaylistAdapter.java +5 −0 Original line number Diff line number Diff line Loading @@ -14,6 +14,8 @@ package org.lineageos.eleven.adapters; import android.content.Context; import android.support.v4.content.ContextCompat; import android.support.v4.graphics.drawable.DrawableCompat; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; Loading @@ -25,6 +27,7 @@ import org.lineageos.eleven.cache.ImageFetcher; import org.lineageos.eleven.model.Playlist; import org.lineageos.eleven.ui.MusicHolder; import org.lineageos.eleven.ui.MusicHolder.DataHolder; import org.lineageos.eleven.ui.activities.HomeActivity; import org.lineageos.eleven.ui.fragments.PlaylistFragment; import org.lineageos.eleven.utils.MusicUtils; import org.lineageos.eleven.widgets.IPopupMenuCallback; Loading Loading @@ -112,6 +115,7 @@ public class PlaylistAdapter extends ArrayAdapter<Playlist> implements IPopupMen switch (type) { case LastAdded: holder.mImage.get().setImageResource(R.drawable.recently_added); break; case RecentlyPlayed: holder.mImage.get().setImageResource(R.drawable.recent_icon); Loading @@ -127,6 +131,7 @@ public class PlaylistAdapter extends ArrayAdapter<Playlist> implements IPopupMen dataHolder.mItemId, holder.mImage.get()); } DrawableCompat.setTint(DrawableCompat.wrap(holder.mImage.get().getDrawable()), HomeActivity.accentColor); return convertView; Loading src/org/lineageos/eleven/ui/HeaderBar.java +1 −0 Original line number Diff line number Diff line Loading @@ -80,6 +80,7 @@ public class HeaderBar extends LinearLayout { mBackButton = (ImageView)findViewById(R.id.header_bar_up); mTitleText = (TextView)findViewById(R.id.header_bar_title); } /** Loading src/org/lineageos/eleven/ui/activities/BaseActivity.java +53 −4 Original line number Diff line number Diff line Loading @@ -25,13 +25,19 @@ import android.content.ServiceConnection; import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.Drawable; import android.media.AudioManager; import android.os.Build; import android.os.Bundle; import android.os.IBinder; import android.support.annotation.ColorInt; import android.support.v4.app.FragmentActivity; import android.support.v7.view.ContextThemeWrapper; import android.util.Log; import android.util.TypedValue; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.Window; import android.view.WindowManager; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; Loading Loading @@ -104,6 +110,7 @@ public abstract class BaseActivity extends FragmentActivity implements ServiceCo private PlaybackStatus mPlaybackStatus; private Drawable mActionBarBackground; private int accentColor; /** * {@inheritDoc} Loading Loading @@ -136,15 +143,18 @@ public abstract class BaseActivity extends FragmentActivity implements ServiceCo setActionBar(mToolBar); setActionBarTitle(getString(R.string.app_name)); mToolBar.setTitleTextColor(getResources().getColor(R.color.white)); // set the background on the root view getWindow().getDecorView().getRootView().setBackgroundColor( getResources().getColor(R.color.background_color)); //getWindow().getDecorView().getRootView().setBackgroundColor(getResources().getColor(R.color.background_color)); // Initialze the bottom action bar initBottomActionBar(); // listen to changes to the cache status ImageFetcher.getInstance(this).addCacheListener(this); accentColor=fetchAccentColor(this); mToolBar.setBackgroundColor(accentColor); } /** Loading Loading @@ -283,7 +293,7 @@ public abstract class BaseActivity extends FragmentActivity implements ServiceCo if (mActionBarBackground == null) { final int actionBarColor = getResources().getColor(R.color.header_action_bar_color); mActionBarBackground = new ColorDrawable(actionBarColor); mToolBar.setBackgroundDrawable(mActionBarBackground); // mToolBar.setBackgroundDrawable(mActionBarBackground); } } Loading Loading @@ -488,4 +498,43 @@ public abstract class BaseActivity extends FragmentActivity implements ServiceCo * handle pending playback requests */ public abstract void handlePendingPlaybackRequests(); /* * get Accent color from OS * */ private int fetchAccentColor(Context context) { TypedValue typedValue = new TypedValue(); ContextThemeWrapper contextThemeWrapper = new ContextThemeWrapper(this, android.R.style.Theme_DeviceDefault); contextThemeWrapper.getTheme().resolveAttribute(android.R.attr.colorAccent, typedValue, true); int color_accent = typedValue.data; Log.e("TAG", "accent Colour #"+Integer.toHexString(color_accent)); //change toolbar color // getSupportActionBar().setBackgroundDrawable( // new ColorDrawable(color_accent)); // //change status bar color if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { Window window = getWindow(); window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); window.setStatusBarColor(darkenColor(color_accent)); } return color_accent; } @ColorInt int darkenColor(@ColorInt int color) { float[] hsv = new float[3]; android.graphics.Color.colorToHSV(color, hsv); hsv[2] *= 0.8f; return android.graphics.Color.HSVToColor(hsv); } } src/org/lineageos/eleven/ui/activities/HomeActivity.java +54 −3 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package org.lineageos.eleven.ui.activities; import android.Manifest; import android.animation.ArgbEvaluator; import android.animation.ObjectAnimator; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.graphics.Bitmap; Loading @@ -28,13 +29,19 @@ import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.provider.MediaStore; import android.support.annotation.ColorInt; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentTransaction; import android.support.v7.view.ContextThemeWrapper; import android.text.TextUtils; import android.util.Log; import android.util.TypedValue; import android.view.MenuItem; import android.view.Window; import android.view.WindowManager; import android.widget.Toolbar; import org.lineageos.eleven.Config; import org.lineageos.eleven.R; Loading Loading @@ -85,6 +92,8 @@ public class HomeActivity extends SlidingPanelActivity implements */ protected boolean mTopLevelActivity = false; public static int accentColor; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Loading @@ -94,6 +103,8 @@ public class HomeActivity extends SlidingPanelActivity implements if (!needRequestStoragePermission()) { init(); } accentColor=fetchAccentColor(this); } private void init() { Loading Loading @@ -133,7 +144,7 @@ public class HomeActivity extends SlidingPanelActivity implements // figure which panel we are on and update the status bar mBrowsePanelActive = (getCurrentPanel() == Panel.Browse); updateStatusBarColor(); // updateStatusBarColor(); } // if intent wasn't UI related, process it as a audio playback request Loading Loading @@ -186,7 +197,7 @@ public class HomeActivity extends SlidingPanelActivity implements @Override public void onMetaChanged() { super.onMetaChanged(); updateStatusBarColor(); // updateStatusBarColor(); } @Override Loading @@ -194,7 +205,7 @@ public class HomeActivity extends SlidingPanelActivity implements boolean isInBrowser = getCurrentPanel() == Panel.Browse && slideOffset < 0.7f; if (isInBrowser != mBrowsePanelActive) { mBrowsePanelActive = isInBrowser; updateStatusBarColor(); // updateStatusBarColor(); } } Loading Loading @@ -534,4 +545,44 @@ public class HomeActivity extends SlidingPanelActivity implements return true; } /* * get Accent color from OS * */ private int fetchAccentColor(Context context) { TypedValue typedValue = new TypedValue(); ContextThemeWrapper contextThemeWrapper = new ContextThemeWrapper(this, android.R.style.Theme_DeviceDefault); contextThemeWrapper.getTheme().resolveAttribute(android.R.attr.colorAccent, typedValue, true); int color_accent = typedValue.data; Log.e("TAG", "accent Colour #"+Integer.toHexString(color_accent)); //change toolbar color // getSupportActionBar().setBackgroundDrawable( // new ColorDrawable(color_accent)); // //change status bar color if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { Window window = getWindow(); window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); window.setStatusBarColor(darkenColor(color_accent)); } return color_accent; } @ColorInt int darkenColor(@ColorInt int color) { float[] hsv = new float[3]; android.graphics.Color.colorToHSV(color, hsv); hsv[2] *= 0.8f; return android.graphics.Color.HSVToColor(hsv); } } src/org/lineageos/eleven/ui/activities/SearchActivity.java +48 −0 Original line number Diff line number Diff line Loading @@ -20,20 +20,28 @@ import android.content.Context; import android.content.Intent; import android.content.ServiceConnection; import android.database.Cursor; import android.graphics.drawable.ColorDrawable; import android.media.AudioManager; import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.os.IBinder; import android.provider.BaseColumns; import android.provider.MediaStore; import android.support.annotation.ColorInt; import android.support.v4.app.FragmentActivity; import android.support.v4.app.LoaderManager.LoaderCallbacks; import android.support.v4.content.Loader; import android.support.v7.view.ContextThemeWrapper; import android.text.TextUtils; import android.util.Log; import android.util.TypedValue; import android.view.Menu; import android.view.MenuItem; import android.view.MotionEvent; import android.view.View; import android.view.Window; import android.view.WindowManager; import android.view.inputmethod.InputMethodManager; import android.widget.AbsListView; import android.widget.AbsListView.OnScrollListener; Loading Loading @@ -348,6 +356,8 @@ public class SearchActivity extends FragmentActivity implements // Start the loader for the search history getSupportLoaderManager().initLoader(HISTORY_LOADER, null, mSearchHistoryCallback); } actionBar.setBackgroundDrawable(new ColorDrawable(fetchAccentColor(this))); } /** Loading Loading @@ -978,4 +988,42 @@ public class SearchActivity extends FragmentActivity implements hideInputManager(); return false; } /* * get Accent color from OS * */ private int fetchAccentColor(Context context) { TypedValue typedValue = new TypedValue(); ContextThemeWrapper contextThemeWrapper = new ContextThemeWrapper(this, android.R.style.Theme_DeviceDefault); contextThemeWrapper.getTheme().resolveAttribute(android.R.attr.colorAccent, typedValue, true); int color_accent = typedValue.data; Log.e("TAG", "accent Colour #"+Integer.toHexString(color_accent)); //change toolbar color // getSupportActionBar().setBackgroundDrawable( // new ColorDrawable(color_accent)); // //change status bar color if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { Window window = getWindow(); window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); window.setStatusBarColor(darkenColor(color_accent)); } return color_accent; } @ColorInt int darkenColor(@ColorInt int color) { float[] hsv = new float[3]; android.graphics.Color.colorToHSV(color, hsv); hsv[2] *= 0.8f; return android.graphics.Color.HSVToColor(hsv); } } Loading
src/org/lineageos/eleven/adapters/PlaylistAdapter.java +5 −0 Original line number Diff line number Diff line Loading @@ -14,6 +14,8 @@ package org.lineageos.eleven.adapters; import android.content.Context; import android.support.v4.content.ContextCompat; import android.support.v4.graphics.drawable.DrawableCompat; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; Loading @@ -25,6 +27,7 @@ import org.lineageos.eleven.cache.ImageFetcher; import org.lineageos.eleven.model.Playlist; import org.lineageos.eleven.ui.MusicHolder; import org.lineageos.eleven.ui.MusicHolder.DataHolder; import org.lineageos.eleven.ui.activities.HomeActivity; import org.lineageos.eleven.ui.fragments.PlaylistFragment; import org.lineageos.eleven.utils.MusicUtils; import org.lineageos.eleven.widgets.IPopupMenuCallback; Loading Loading @@ -112,6 +115,7 @@ public class PlaylistAdapter extends ArrayAdapter<Playlist> implements IPopupMen switch (type) { case LastAdded: holder.mImage.get().setImageResource(R.drawable.recently_added); break; case RecentlyPlayed: holder.mImage.get().setImageResource(R.drawable.recent_icon); Loading @@ -127,6 +131,7 @@ public class PlaylistAdapter extends ArrayAdapter<Playlist> implements IPopupMen dataHolder.mItemId, holder.mImage.get()); } DrawableCompat.setTint(DrawableCompat.wrap(holder.mImage.get().getDrawable()), HomeActivity.accentColor); return convertView; Loading
src/org/lineageos/eleven/ui/HeaderBar.java +1 −0 Original line number Diff line number Diff line Loading @@ -80,6 +80,7 @@ public class HeaderBar extends LinearLayout { mBackButton = (ImageView)findViewById(R.id.header_bar_up); mTitleText = (TextView)findViewById(R.id.header_bar_title); } /** Loading
src/org/lineageos/eleven/ui/activities/BaseActivity.java +53 −4 Original line number Diff line number Diff line Loading @@ -25,13 +25,19 @@ import android.content.ServiceConnection; import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.Drawable; import android.media.AudioManager; import android.os.Build; import android.os.Bundle; import android.os.IBinder; import android.support.annotation.ColorInt; import android.support.v4.app.FragmentActivity; import android.support.v7.view.ContextThemeWrapper; import android.util.Log; import android.util.TypedValue; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.Window; import android.view.WindowManager; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; Loading Loading @@ -104,6 +110,7 @@ public abstract class BaseActivity extends FragmentActivity implements ServiceCo private PlaybackStatus mPlaybackStatus; private Drawable mActionBarBackground; private int accentColor; /** * {@inheritDoc} Loading Loading @@ -136,15 +143,18 @@ public abstract class BaseActivity extends FragmentActivity implements ServiceCo setActionBar(mToolBar); setActionBarTitle(getString(R.string.app_name)); mToolBar.setTitleTextColor(getResources().getColor(R.color.white)); // set the background on the root view getWindow().getDecorView().getRootView().setBackgroundColor( getResources().getColor(R.color.background_color)); //getWindow().getDecorView().getRootView().setBackgroundColor(getResources().getColor(R.color.background_color)); // Initialze the bottom action bar initBottomActionBar(); // listen to changes to the cache status ImageFetcher.getInstance(this).addCacheListener(this); accentColor=fetchAccentColor(this); mToolBar.setBackgroundColor(accentColor); } /** Loading Loading @@ -283,7 +293,7 @@ public abstract class BaseActivity extends FragmentActivity implements ServiceCo if (mActionBarBackground == null) { final int actionBarColor = getResources().getColor(R.color.header_action_bar_color); mActionBarBackground = new ColorDrawable(actionBarColor); mToolBar.setBackgroundDrawable(mActionBarBackground); // mToolBar.setBackgroundDrawable(mActionBarBackground); } } Loading Loading @@ -488,4 +498,43 @@ public abstract class BaseActivity extends FragmentActivity implements ServiceCo * handle pending playback requests */ public abstract void handlePendingPlaybackRequests(); /* * get Accent color from OS * */ private int fetchAccentColor(Context context) { TypedValue typedValue = new TypedValue(); ContextThemeWrapper contextThemeWrapper = new ContextThemeWrapper(this, android.R.style.Theme_DeviceDefault); contextThemeWrapper.getTheme().resolveAttribute(android.R.attr.colorAccent, typedValue, true); int color_accent = typedValue.data; Log.e("TAG", "accent Colour #"+Integer.toHexString(color_accent)); //change toolbar color // getSupportActionBar().setBackgroundDrawable( // new ColorDrawable(color_accent)); // //change status bar color if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { Window window = getWindow(); window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); window.setStatusBarColor(darkenColor(color_accent)); } return color_accent; } @ColorInt int darkenColor(@ColorInt int color) { float[] hsv = new float[3]; android.graphics.Color.colorToHSV(color, hsv); hsv[2] *= 0.8f; return android.graphics.Color.HSVToColor(hsv); } }
src/org/lineageos/eleven/ui/activities/HomeActivity.java +54 −3 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package org.lineageos.eleven.ui.activities; import android.Manifest; import android.animation.ArgbEvaluator; import android.animation.ObjectAnimator; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.graphics.Bitmap; Loading @@ -28,13 +29,19 @@ import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.provider.MediaStore; import android.support.annotation.ColorInt; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentTransaction; import android.support.v7.view.ContextThemeWrapper; import android.text.TextUtils; import android.util.Log; import android.util.TypedValue; import android.view.MenuItem; import android.view.Window; import android.view.WindowManager; import android.widget.Toolbar; import org.lineageos.eleven.Config; import org.lineageos.eleven.R; Loading Loading @@ -85,6 +92,8 @@ public class HomeActivity extends SlidingPanelActivity implements */ protected boolean mTopLevelActivity = false; public static int accentColor; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Loading @@ -94,6 +103,8 @@ public class HomeActivity extends SlidingPanelActivity implements if (!needRequestStoragePermission()) { init(); } accentColor=fetchAccentColor(this); } private void init() { Loading Loading @@ -133,7 +144,7 @@ public class HomeActivity extends SlidingPanelActivity implements // figure which panel we are on and update the status bar mBrowsePanelActive = (getCurrentPanel() == Panel.Browse); updateStatusBarColor(); // updateStatusBarColor(); } // if intent wasn't UI related, process it as a audio playback request Loading Loading @@ -186,7 +197,7 @@ public class HomeActivity extends SlidingPanelActivity implements @Override public void onMetaChanged() { super.onMetaChanged(); updateStatusBarColor(); // updateStatusBarColor(); } @Override Loading @@ -194,7 +205,7 @@ public class HomeActivity extends SlidingPanelActivity implements boolean isInBrowser = getCurrentPanel() == Panel.Browse && slideOffset < 0.7f; if (isInBrowser != mBrowsePanelActive) { mBrowsePanelActive = isInBrowser; updateStatusBarColor(); // updateStatusBarColor(); } } Loading Loading @@ -534,4 +545,44 @@ public class HomeActivity extends SlidingPanelActivity implements return true; } /* * get Accent color from OS * */ private int fetchAccentColor(Context context) { TypedValue typedValue = new TypedValue(); ContextThemeWrapper contextThemeWrapper = new ContextThemeWrapper(this, android.R.style.Theme_DeviceDefault); contextThemeWrapper.getTheme().resolveAttribute(android.R.attr.colorAccent, typedValue, true); int color_accent = typedValue.data; Log.e("TAG", "accent Colour #"+Integer.toHexString(color_accent)); //change toolbar color // getSupportActionBar().setBackgroundDrawable( // new ColorDrawable(color_accent)); // //change status bar color if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { Window window = getWindow(); window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); window.setStatusBarColor(darkenColor(color_accent)); } return color_accent; } @ColorInt int darkenColor(@ColorInt int color) { float[] hsv = new float[3]; android.graphics.Color.colorToHSV(color, hsv); hsv[2] *= 0.8f; return android.graphics.Color.HSVToColor(hsv); } }
src/org/lineageos/eleven/ui/activities/SearchActivity.java +48 −0 Original line number Diff line number Diff line Loading @@ -20,20 +20,28 @@ import android.content.Context; import android.content.Intent; import android.content.ServiceConnection; import android.database.Cursor; import android.graphics.drawable.ColorDrawable; import android.media.AudioManager; import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.os.IBinder; import android.provider.BaseColumns; import android.provider.MediaStore; import android.support.annotation.ColorInt; import android.support.v4.app.FragmentActivity; import android.support.v4.app.LoaderManager.LoaderCallbacks; import android.support.v4.content.Loader; import android.support.v7.view.ContextThemeWrapper; import android.text.TextUtils; import android.util.Log; import android.util.TypedValue; import android.view.Menu; import android.view.MenuItem; import android.view.MotionEvent; import android.view.View; import android.view.Window; import android.view.WindowManager; import android.view.inputmethod.InputMethodManager; import android.widget.AbsListView; import android.widget.AbsListView.OnScrollListener; Loading Loading @@ -348,6 +356,8 @@ public class SearchActivity extends FragmentActivity implements // Start the loader for the search history getSupportLoaderManager().initLoader(HISTORY_LOADER, null, mSearchHistoryCallback); } actionBar.setBackgroundDrawable(new ColorDrawable(fetchAccentColor(this))); } /** Loading Loading @@ -978,4 +988,42 @@ public class SearchActivity extends FragmentActivity implements hideInputManager(); return false; } /* * get Accent color from OS * */ private int fetchAccentColor(Context context) { TypedValue typedValue = new TypedValue(); ContextThemeWrapper contextThemeWrapper = new ContextThemeWrapper(this, android.R.style.Theme_DeviceDefault); contextThemeWrapper.getTheme().resolveAttribute(android.R.attr.colorAccent, typedValue, true); int color_accent = typedValue.data; Log.e("TAG", "accent Colour #"+Integer.toHexString(color_accent)); //change toolbar color // getSupportActionBar().setBackgroundDrawable( // new ColorDrawable(color_accent)); // //change status bar color if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { Window window = getWindow(); window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); window.setStatusBarColor(darkenColor(color_accent)); } return color_accent; } @ColorInt int darkenColor(@ColorInt int color) { float[] hsv = new float[3]; android.graphics.Color.colorToHSV(color, hsv); hsv[2] *= 0.8f; return android.graphics.Color.HSVToColor(hsv); } }