Search in sources :

Example 1 with Track

use of com.sdsmdg.harjot.MusicDNA.models.Track in project MusicDNA by harjot-oberai.

the class PlaylistTrackAdapter method onBindViewHolder.

@Override
public void onBindViewHolder(final PlaylistTrackAdapter.MyViewHolder holder, int position) {
    UnifiedTrack ut = songList.get(position);
    if (ut.getType()) {
        LocalTrack lt = ut.getLocalTrack();
        imgLoader.DisplayImage(lt.getPath(), holder.art);
        holder.title.setText(lt.getTitle());
        holder.artist.setText(lt.getArtist());
    } else {
        Track t = ut.getStreamTrack();
        Picasso.with(ctx).load(t.getArtworkURL()).resize(100, 100).error(R.drawable.ic_default).placeholder(R.drawable.ic_default).into(holder.art);
        holder.title.setText(t.getTitle());
        holder.artist.setText("");
    }
    holder.holderImg.setOnTouchListener(new View.OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            if (MotionEventCompat.getActionMasked(event) == MotionEvent.ACTION_DOWN) {
                mDragStartListener.onDragStarted(holder);
            }
            return false;
        }
    });
}
Also used : UnifiedTrack(com.sdsmdg.harjot.MusicDNA.models.UnifiedTrack) LocalTrack(com.sdsmdg.harjot.MusicDNA.models.LocalTrack) ImageView(android.widget.ImageView) RecyclerView(android.support.v7.widget.RecyclerView) TextView(android.widget.TextView) View(android.view.View) LocalTrack(com.sdsmdg.harjot.MusicDNA.models.LocalTrack) Track(com.sdsmdg.harjot.MusicDNA.models.Track) UnifiedTrack(com.sdsmdg.harjot.MusicDNA.models.UnifiedTrack) MotionEvent(android.view.MotionEvent)

Example 2 with Track

use of com.sdsmdg.harjot.MusicDNA.models.Track in project MusicDNA by harjot-oberai.

the class FavouritesFragment method onViewCreated.

@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    backBtn = (ImageView) view.findViewById(R.id.fav_back_btn);
    backBtn.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            getActivity().onBackPressed();
        }
    });
    fragIcon = (ImageView) view.findViewById(R.id.fav_frag_icon);
    fragIcon.setImageTintList(ColorStateList.valueOf(HomeActivity.themeColor));
    fragTitle = (TextView) view.findViewById(R.id.fav_fragment_title);
    if (SplashActivity.tf4 != null)
        fragTitle.setTypeface(SplashActivity.tf4);
    addToQueueIcon = (ImageView) view.findViewById(R.id.add_fav_to_queue_icon);
    addToQueueIcon.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            mCallback.addFavToQueue();
        }
    });
    backdrop = (ImageView) view.findViewById(R.id.fav_backdrop);
    if (HomeActivity.favouriteTracks.getFavourite().size() > 0) {
        UnifiedTrack ut = HomeActivity.favouriteTracks.getFavourite().get(0);
        if (ut.getType()) {
            LocalTrack lt = ut.getLocalTrack();
            imgLoader.DisplayImage(lt.getPath(), backdrop);
        } else {
            Track t = ut.getStreamTrack();
            Picasso.with(getContext()).load(t.getArtworkURL()).resize(100, 100).error(R.drawable.ic_default).placeholder(R.drawable.ic_default).into(backdrop);
        }
    }
    bottomMarginLayout = view.findViewById(R.id.bottom_margin_layout);
    if (HomeActivity.isReloaded)
        bottomMarginLayout.getLayoutParams().height = 0;
    else
        bottomMarginLayout.getLayoutParams().height = CommonUtils.dpTopx(65, getContext());
    favouriteRecycler = (RecyclerView) view.findViewById(R.id.favouriteRecycler);
    noFavouriteContent = (LinearLayout) view.findViewById(R.id.noFavouriteContent);
    playAll = (FloatingActionButton) view.findViewById(R.id.fav_play_all_fab);
    if (SplashActivity.tf4 != null)
        ((TextView) view.findViewById(R.id.favNoContentText)).setTypeface(SplashActivity.tf4);
    if (HomeActivity.favouriteTracks.getFavourite().size() == 0) {
        favouriteRecycler.setVisibility(View.INVISIBLE);
        playAll.setVisibility(View.INVISIBLE);
        noFavouriteContent.setVisibility(View.VISIBLE);
    } else {
        favouriteRecycler.setVisibility(View.VISIBLE);
        playAll.setVisibility(View.VISIBLE);
        noFavouriteContent.setVisibility(View.INVISIBLE);
    }
    fAdapter = new FavouriteTrackAdapter(HomeActivity.favouriteTracks.getFavourite(), this, getContext());
    mLayoutManager2 = new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false);
    favouriteRecycler.setLayoutManager(mLayoutManager2);
    favouriteRecycler.setItemAnimator(new DefaultItemAnimator());
    favouriteRecycler.setAdapter(fAdapter);
    favouriteRecycler.addOnItemTouchListener(new ClickItemTouchListener(favouriteRecycler) {

        @Override
        public boolean onClick(RecyclerView parent, View view, int position, long id) {
            mCallback.onFavouriteItemClicked(position);
            return true;
        }

        @Override
        public boolean onLongClick(RecyclerView parent, View view, int position, long id) {
            return true;
        }

        @Override
        public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) {
        }
    });
    if (HomeActivity.favouriteTracks.getFavourite().size() == 0) {
        playAll.setVisibility(View.INVISIBLE);
    } else {
        playAll.setVisibility(View.VISIBLE);
    }
    playAll.setBackgroundTintList(ColorStateList.valueOf(HomeActivity.themeColor));
    playAll.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            if (HomeActivity.favouriteTracks.getFavourite().size() > 0) {
                HomeActivity.queue.getQueue().clear();
                for (int i = 0; i < HomeActivity.favouriteTracks.getFavourite().size(); i++) {
                    HomeActivity.queue.getQueue().add(HomeActivity.favouriteTracks.getFavourite().get(i));
                }
                HomeActivity.queueCurrentIndex = 0;
                mCallback.onFavouritePlayAll();
            }
        }
    });
    ItemTouchHelper.Callback callback = new SimpleItemTouchHelperCallback(fAdapter);
    mItemTouchHelper = new ItemTouchHelper(callback);
    mItemTouchHelper.attachToRecyclerView(favouriteRecycler);
}
Also used : SimpleItemTouchHelperCallback(com.sdsmdg.harjot.MusicDNA.itemtouchhelpers.SimpleItemTouchHelperCallback) LocalTrack(com.sdsmdg.harjot.MusicDNA.models.LocalTrack) LinearLayoutManager(android.support.v7.widget.LinearLayoutManager) ImageView(android.widget.ImageView) View(android.view.View) RecyclerView(android.support.v7.widget.RecyclerView) TextView(android.widget.TextView) DefaultItemAnimator(android.support.v7.widget.DefaultItemAnimator) ItemTouchHelper(android.support.v7.widget.helper.ItemTouchHelper) UnifiedTrack(com.sdsmdg.harjot.MusicDNA.models.UnifiedTrack) RecyclerView(android.support.v7.widget.RecyclerView) ClickItemTouchListener(com.sdsmdg.harjot.MusicDNA.clickitemtouchlistener.ClickItemTouchListener) UnifiedTrack(com.sdsmdg.harjot.MusicDNA.models.UnifiedTrack) LocalTrack(com.sdsmdg.harjot.MusicDNA.models.LocalTrack) Track(com.sdsmdg.harjot.MusicDNA.models.Track)

Example 3 with Track

use of com.sdsmdg.harjot.MusicDNA.models.Track in project MusicDNA by harjot-oberai.

the class HomeActivity method onPlaylistItemClicked.

@Override
public void onPlaylistItemClicked(int position) {
    UnifiedTrack ut = tempPlaylist.getSongList().get(position);
    if (ut.getType()) {
        LocalTrack track = ut.getLocalTrack();
        if (queue.getQueue().size() == 0) {
            queueCurrentIndex = 0;
            queue.getQueue().add(new UnifiedTrack(true, track, null));
        } else if (queueCurrentIndex == queue.getQueue().size() - 1) {
            queueCurrentIndex++;
            queue.getQueue().add(new UnifiedTrack(true, track, null));
        } else if (isReloaded) {
            isReloaded = false;
            queueCurrentIndex = queue.getQueue().size();
            queue.getQueue().add(new UnifiedTrack(true, track, null));
        } else {
            queue.getQueue().add(++queueCurrentIndex, new UnifiedTrack(true, track, null));
        }
        localSelectedTrack = track;
        streamSelected = false;
        localSelected = true;
        queueCall = false;
        isReloaded = false;
        onLocalTrackSelected(position);
    } else {
        Track track = ut.getStreamTrack();
        if (queue.getQueue().size() == 0) {
            queueCurrentIndex = 0;
            queue.getQueue().add(new UnifiedTrack(false, null, track));
        } else if (queueCurrentIndex == queue.getQueue().size() - 1) {
            queueCurrentIndex++;
            queue.getQueue().add(new UnifiedTrack(false, null, track));
        } else if (isReloaded) {
            isReloaded = false;
            queueCurrentIndex = queue.getQueue().size();
            queue.getQueue().add(new UnifiedTrack(false, null, track));
        } else {
            queue.getQueue().add(++queueCurrentIndex, new UnifiedTrack(false, null, track));
        }
        selectedTrack = track;
        streamSelected = true;
        localSelected = false;
        queueCall = false;
        isReloaded = false;
        onTrackSelected(position);
    }
}
Also used : UnifiedTrack(com.sdsmdg.harjot.MusicDNA.models.UnifiedTrack) LocalTrack(com.sdsmdg.harjot.MusicDNA.models.LocalTrack) LocalTrack(com.sdsmdg.harjot.MusicDNA.models.LocalTrack) UnifiedTrack(com.sdsmdg.harjot.MusicDNA.models.UnifiedTrack) Track(com.sdsmdg.harjot.MusicDNA.models.Track)

Example 4 with Track

use of com.sdsmdg.harjot.MusicDNA.models.Track in project MusicDNA by harjot-oberai.

the class HomeActivity method onFavouriteItemClicked.

// //////////////////////////////////////////////////////////////////////////////////////////////
/*
     *  FavouriteFragment callbacks START
     *  onFavouriteItemClicked() -> when a song is selected from favourites.
     *  onFavouritePlayAll() -> when favourite play all fab is selected.
     *  addFavToQueue() -> when `add favourite to queue` is selected.
     */
@Override
public void onFavouriteItemClicked(int position) {
    UnifiedTrack ut = favouriteTracks.getFavourite().get(position);
    if (ut.getType()) {
        LocalTrack track = ut.getLocalTrack();
        if (queue.getQueue().size() == 0) {
            queueCurrentIndex = 0;
            queue.getQueue().add(new UnifiedTrack(true, track, null));
        } else if (queueCurrentIndex == queue.getQueue().size() - 1) {
            queueCurrentIndex++;
            queue.getQueue().add(new UnifiedTrack(true, track, null));
        } else if (isReloaded) {
            isReloaded = false;
            queueCurrentIndex = queue.getQueue().size();
            queue.getQueue().add(new UnifiedTrack(true, track, null));
        } else {
            queue.getQueue().add(++queueCurrentIndex, new UnifiedTrack(true, track, null));
        }
        localSelectedTrack = track;
        streamSelected = false;
        localSelected = true;
        queueCall = false;
        isReloaded = false;
        onLocalTrackSelected(position);
    } else {
        Track track = ut.getStreamTrack();
        if (queue.getQueue().size() == 0) {
            queueCurrentIndex = 0;
            queue.getQueue().add(new UnifiedTrack(false, null, track));
        } else if (queueCurrentIndex == queue.getQueue().size() - 1) {
            queueCurrentIndex++;
            queue.getQueue().add(new UnifiedTrack(false, null, track));
        } else if (isReloaded) {
            isReloaded = false;
            queueCurrentIndex = queue.getQueue().size();
            queue.getQueue().add(new UnifiedTrack(false, null, track));
        } else {
            queue.getQueue().add(++queueCurrentIndex, new UnifiedTrack(false, null, track));
        }
        selectedTrack = track;
        streamSelected = true;
        localSelected = false;
        queueCall = false;
        isReloaded = false;
        onTrackSelected(position);
    }
}
Also used : UnifiedTrack(com.sdsmdg.harjot.MusicDNA.models.UnifiedTrack) LocalTrack(com.sdsmdg.harjot.MusicDNA.models.LocalTrack) LocalTrack(com.sdsmdg.harjot.MusicDNA.models.LocalTrack) UnifiedTrack(com.sdsmdg.harjot.MusicDNA.models.UnifiedTrack) Track(com.sdsmdg.harjot.MusicDNA.models.Track)

Example 5 with Track

use of com.sdsmdg.harjot.MusicDNA.models.Track in project MusicDNA by harjot-oberai.

the class HomeActivity method onQueueItemClicked2.

public void onQueueItemClicked2(int position) {
    if (position <= (queue.getQueue().size() - 1)) {
        queueCurrentIndex = position;
        UnifiedTrack ut = queue.getQueue().get(position);
        if (ut.getType()) {
            LocalTrack track = ut.getLocalTrack();
            localSelectedTrack = track;
            streamSelected = false;
            localSelected = true;
            queueCall = true;
            isReloaded = false;
            onLocalTrackSelected(position);
        } else {
            Track track = ut.getStreamTrack();
            selectedTrack = track;
            streamSelected = true;
            localSelected = false;
            queueCall = true;
            isReloaded = false;
            onTrackSelected(position);
        }
    }
}
Also used : UnifiedTrack(com.sdsmdg.harjot.MusicDNA.models.UnifiedTrack) LocalTrack(com.sdsmdg.harjot.MusicDNA.models.LocalTrack) LocalTrack(com.sdsmdg.harjot.MusicDNA.models.LocalTrack) UnifiedTrack(com.sdsmdg.harjot.MusicDNA.models.UnifiedTrack) Track(com.sdsmdg.harjot.MusicDNA.models.Track)

Aggregations

Track (com.sdsmdg.harjot.MusicDNA.models.Track)18 UnifiedTrack (com.sdsmdg.harjot.MusicDNA.models.UnifiedTrack)16 LocalTrack (com.sdsmdg.harjot.MusicDNA.models.LocalTrack)15 RecyclerView (android.support.v7.widget.RecyclerView)7 View (android.view.View)7 ImageView (android.widget.ImageView)6 TextView (android.widget.TextView)6 DefaultItemAnimator (android.support.v7.widget.DefaultItemAnimator)4 LinearLayoutManager (android.support.v7.widget.LinearLayoutManager)4 ClickItemTouchListener (com.sdsmdg.harjot.MusicDNA.clickitemtouchlistener.ClickItemTouchListener)4 ItemTouchHelper (android.support.v7.widget.helper.ItemTouchHelper)3 MotionEvent (android.view.MotionEvent)3 SimpleItemTouchHelperCallback (com.sdsmdg.harjot.MusicDNA.itemtouchhelpers.SimpleItemTouchHelperCallback)3 CustomGeneralBottomSheetDialog (com.sdsmdg.harjot.MusicDNA.custombottomsheets.CustomGeneralBottomSheetDialog)2 ColorDrawable (android.graphics.drawable.ColorDrawable)1 Handler (android.os.Handler)1 Random (java.util.Random)1