Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b6322dee authored by Narinder Rana's avatar Narinder Rana
Browse files

impl on Home screen, tabs, bottom view

parent 71d060da
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -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;
@@ -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;
@@ -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);
@@ -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;
+53 −4
Original line number Diff line number Diff line
@@ -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;
@@ -104,6 +110,7 @@ public abstract class BaseActivity extends FragmentActivity implements ServiceCo
    private PlaybackStatus mPlaybackStatus;

    private Drawable mActionBarBackground;
    private int accentColor;

    /**
     * {@inheritDoc}
@@ -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);

    }

    /**
@@ -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);
        }
    }

@@ -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);
    }

}
+54 −3
Original line number Diff line number Diff line
@@ -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;
@@ -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;
@@ -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);
@@ -94,6 +103,8 @@ public class HomeActivity extends SlidingPanelActivity implements
        if (!needRequestStoragePermission()) {
            init();
        }

        accentColor=fetchAccentColor(this);
    }

    private void init() {
@@ -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
@@ -186,7 +197,7 @@ public class HomeActivity extends SlidingPanelActivity implements
    @Override
    public void onMetaChanged() {
        super.onMetaChanged();
        updateStatusBarColor();
      //  updateStatusBarColor();
    }

    @Override
@@ -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();
        }
    }

@@ -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);
    }


}
+55 −2
Original line number Diff line number Diff line
@@ -13,11 +13,19 @@

package org.lineageos.eleven.ui.activities;

import android.content.Context;
import android.graphics.Color;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.ColorInt;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.support.v7.view.ContextThemeWrapper;
import android.util.Log;
import android.util.TypedValue;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.LinearLayout;

import org.lineageos.eleven.R;
@@ -38,6 +46,8 @@ import org.lineageos.eleven.widgets.BlurScrimImage;
 */
public abstract class SlidingPanelActivity extends BaseActivity {

    private int accentColor;

    public enum Panel {
        Browse,
        MusicPlayer,
@@ -83,6 +93,8 @@ public abstract class SlidingPanelActivity extends BaseActivity {
        // Display the now playing screen or shuffle if this isn't anything
        // playing
        bottomActionBar.setOnClickListener(mOpenNowPlaying);
       accentColor= fetchAccentColor(this);
        bottomActionBar.setBackgroundColor(accentColor);
    }

    /**
@@ -123,6 +135,7 @@ public abstract class SlidingPanelActivity extends BaseActivity {

    private void setupFirstPanel() {
        mFirstPanel = (SlidingUpPanelLayout)findViewById(R.id.sliding_layout);
        mFirstPanel.setBackgroundColor(accentColor);
        mFirstPanel.setPanelSlideListener(new SimplePanelSlideListener() {
            @Override
            public void onPanelSlide(View panel, float slideOffset) {
@@ -139,10 +152,12 @@ public abstract class SlidingPanelActivity extends BaseActivity {
                checkTargetNavigation();
            }
        });

    }

    private void setupSecondPanel() {
        mSecondPanel = (SlidingUpPanelLayout)findViewById(R.id.sliding_layout2);
        mSecondPanel.setBackgroundColor(accentColor);
        mSecondPanel.setPanelSlideListener(new SimplePanelSlideListener() {
            @Override
            public void onPanelSlide(View panel, float slideOffset) {
@@ -300,10 +315,10 @@ public abstract class SlidingPanelActivity extends BaseActivity {
        final HeaderBar headerBar = (HeaderBar) findViewById(containerId);
        headerBar.setFragment(getQueueFragment());
        headerBar.setTitleText(textId);
        headerBar.setBackgroundColor(Color.TRANSPARENT);
       // headerBar.setBackgroundColor(Color.TRANSPARENT);
        headerBar.setBackListener(mShowBrowse);
        headerBar.setHeaderClickListener(headerClickListener);

        headerBar.setBackgroundColor(accentColor);
        return headerBar;
    }

@@ -320,4 +335,42 @@ public abstract class SlidingPanelActivity extends BaseActivity {
            showPanel(mTargetPanel);
        }
    }

    /*
     * 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);
    }
}
+64 −2
Original line number Diff line number Diff line
@@ -13,12 +13,20 @@

package org.lineageos.eleven.ui.fragments.phone;

import android.content.Context;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.ColorInt;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.support.v7.view.ContextThemeWrapper;
import android.util.Log;
import android.util.TypedValue;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.Window;
import android.view.WindowManager;

import org.lineageos.eleven.R;
import org.lineageos.eleven.adapters.PagerAdapter;
@@ -62,6 +70,8 @@ public class MusicBrowserPhoneFragment extends BaseFragment {
     * A pre-defined page index to navigate to
     */
    private int mDefaultPageIdx = INVALID_PAGE_INDEX;
    private int ACCENT_COLOR;
    private ViewPagerTabs tabs;

    /**
     * Empty constructor as per the {@link Fragment} documentation
@@ -87,6 +97,17 @@ public class MusicBrowserPhoneFragment extends BaseFragment {
        super.onCreate(savedInstanceState);
        // Get the preferences
        mPreferences = PreferenceUtils.getInstance(getActivity());

        ACCENT_COLOR=fetchAccentColor(getActivity());



    }

    @Override
    public void onResume() {
        super.onResume();
        tabs.setBackgroundColor(ACCENT_COLOR);
    }

    @Override
@@ -109,12 +130,15 @@ public class MusicBrowserPhoneFragment extends BaseFragment {
        mViewPager.setOffscreenPageLimit(mPagerAdapter.getCount() - 1);

        // Initialize the tab strip
        final ViewPagerTabs tabs = (ViewPagerTabs)
        tabs = (ViewPagerTabs)
                mRootView.findViewById(R.id.fragment_home_phone_pager_titles);
        // Attach the ViewPager



        tabs.setViewPager(mViewPager);
        mViewPager.setOnPageChangeListener(tabs);

        mViewPager.setOnPageChangeListener(tabs);
        if (mDefaultPageIdx != INVALID_PAGE_INDEX)  {
            navigateToPage(mDefaultPageIdx);
        } else {
@@ -318,4 +342,42 @@ public class MusicBrowserPhoneFragment extends BaseFragment {
    private boolean isPlaylistPage() {
        return mViewPager.getCurrentItem() == MusicFragments.PLAYLIST.ordinal();
    }

    /*
     * get Accent color from OS
     * */
    private int fetchAccentColor(Context context) {

        TypedValue typedValue = new TypedValue();
        ContextThemeWrapper contextThemeWrapper = new ContextThemeWrapper(getActivity(),
                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 = getActivity().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