Android Open Source - PlayTunes Song Menu Dialog Fragment






From Project

Back to project page PlayTunes.

License

The source code is released under:

Copyright (c) 2014, Impeccable Labs, LLC. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions ar...

If you think the Android project PlayTunes listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.ideabag.playtunes.dialog;
/*  w  ww .j  a  v  a2  s.co m*/
import android.app.Activity;
import android.database.Cursor;
import android.os.Bundle;
import android.provider.MediaStore;
import android.support.v4.app.DialogFragment;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentTransaction;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.widget.TextView;

import com.ideabag.playtunes.R;
import com.ideabag.playtunes.activity.MainActivity;
import com.ideabag.playtunes.database.MediaQuery;
import com.ideabag.playtunes.fragment.AlbumsOneFragment;
import com.ideabag.playtunes.fragment.ArtistsOneFragment;

public class SongMenuDialogFragment extends DialogFragment {
  
  String mMediaID;
  
  //Cursor mSongCursor = null;
  MediaQuery mSongQuery;
  
  private MainActivity mActivity;
  
  TextView mSongArtist;
  TextView mSongAlbum;
  View songArtistButton;
  View songAlbumButton;
  
  
    public SongMenuDialogFragment() {
        // Empty constructor required for DialogFragment
      setStyle( STYLE_NORMAL, 0 );
      
    }
    
    public void setMediaID( String media_id ) {
      
      this.mMediaID = media_id;
      
      mSongQuery = new MediaQuery(
        MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
        new String[] {
          
          MediaStore.Audio.Media.ALBUM,
          MediaStore.Audio.Media.ALBUM_ID,
          MediaStore.Audio.Media.ARTIST,
          MediaStore.Audio.Media.ARTIST_ID,
          MediaStore.Audio.Media.TITLE,
          MediaStore.Audio.Media._ID
          
        },
        MediaStore.Audio.Media._ID + "=?",
        new String[] {
          
            mMediaID
          
        },
        null
      );
      
    }
    
    @Override public void onAttach( Activity activity ) {
      super.onAttach( activity );
      
      mActivity = ( MainActivity ) activity;
      
    }

    @Override public View onCreateView( LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
      
        View view = inflater.inflate(R.layout.dialog_fragment_songmenu, container);
        //mEditText = (EditText) view.findViewById(R.id.txt_your_name);
        getDialog().requestWindowFeature( Window.FEATURE_NO_TITLE );
        
        mSongArtist = ( TextView ) view.findViewById( R.id.SongMenuArtistTitle );
        mSongAlbum = ( TextView ) view.findViewById( R.id.SongMenuAlbumTitle );
        songArtistButton = view.findViewById( R.id.SongMenuArtist );
        songAlbumButton = view.findViewById( R.id.SongMenuAlbum );
        
        view.findViewById( R.id.ButtonCancel ).setOnClickListener( mMenuClickListener );
        songAlbumButton.setOnClickListener( mMenuClickListener );
        songArtistButton.setOnClickListener( mMenuClickListener );
        view.findViewById( R.id.SongMenuAddTo ).setOnClickListener( mMenuClickListener );
        
        MediaQuery.executeAsync( getActivity(), mSongQuery, new MediaQuery.OnQueryCompletedListener() {
      
      @Override public void onQueryCompleted( MediaQuery mQuery, Cursor mResult ) {
        
        mResult.moveToFirst();
        
        String songArtist = mResult.getString( mResult.getColumnIndex( MediaStore.Audio.Media.ARTIST ) );
            String songArtistID = mResult.getString( mResult.getColumnIndex( MediaStore.Audio.Media.ARTIST_ID ) );
            String songAlbum = mResult.getString( mResult.getColumnIndex( MediaStore.Audio.Media.ALBUM ) );
            String songAlbumID = mResult.getString( mResult.getColumnIndex( MediaStore.Audio.Media.ALBUM_ID ) );
            
            // Show Artist name
            if ( songArtist == null || songArtist.equals( getString( R.string.no_artist_string ) ) || songArtist.equals("") ) {
              
              songArtistButton.setVisibility( View.GONE );
              
            } else {
              
              mSongArtist.setText( songArtist );
              songArtistButton.setTag( R.id.tag_artist_id, songArtistID );
              
            }
            
            // Show album name
            if ( songAlbum == null || songAlbum.equals( getString( R.string.no_album_string ) ) || songAlbum.equals("") ) {
              
              songAlbumButton.setVisibility( View.GONE );
              
            } else {
              
              mSongAlbum.setText( songAlbum );
              songAlbumButton.setTag( R.id.tag_album_id, songAlbumID );
              
            }
        
            mResult.close();
            
      }
      
    });
        
        return view;
        
    }
    
    @Override public void onStart() {
      super.onStart();
      
      if ( android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.HONEYCOMB ) {
        
        getDialog().getWindow().setBackgroundDrawableResource( R.drawable.gb_dialog_background );
        
      }
      
    }

  View.OnClickListener mMenuClickListener = new View.OnClickListener() {
    
    @Override public void onClick( View v ) {
      
      int id = v.getId();
      
      if ( id == R.id.SongMenuAddTo ) {
        
        FragmentTransaction ft = getActivity().getSupportFragmentManager().beginTransaction();
            
        Fragment prev = getActivity().getSupportFragmentManager().findFragmentByTag("dialog");
        
          if ( prev != null ) {
              
            ft.remove( prev );
            
          }
        
        AddToPlaylistDialogFragment newFragment = new AddToPlaylistDialogFragment();
        newFragment.setMediaID( mMediaID );
            //ft.addToBackStack( null );
              newFragment.show( ft, "dialog" );
        
      } else if ( id == R.id.SongMenuArtist ) {
        
        String artist_id = "" + v.getTag( R.id.tag_artist_id );
        
        ArtistsOneFragment artistOneFragment = new ArtistsOneFragment();
        artistOneFragment.setMediaID( artist_id );
        
        mActivity.transactFragment( artistOneFragment );
        
        dismiss();
        
      } else if ( id == R.id.SongMenuAlbum ) {
        
        String album_id = "" + v.getTag( R.id.tag_album_id );
        
        AlbumsOneFragment albumsOneFragment = new AlbumsOneFragment();
        albumsOneFragment.setMediaID( album_id );
        
        mActivity.transactFragment( albumsOneFragment );
        
        dismiss();
        
      } else if ( id == R.id.ButtonCancel ) {
        
        dismiss();
        
      }
      
    }
    
  };
  
}




Java Source Code List

com.ideabag.playtunes.PlaylistManager.java
com.ideabag.playtunes.DragNDrop.DragListener.java
com.ideabag.playtunes.DragNDrop.DragNDropListView.java
com.ideabag.playtunes.DragNDrop.DropListener.java
com.ideabag.playtunes.DragNDrop.RemoveListener.java
com.ideabag.playtunes.activity.MainActivity.java
com.ideabag.playtunes.activity.NowPlayingActivity.java
com.ideabag.playtunes.activity.SettingsActivity.java
com.ideabag.playtunes.adapter.AlbumListAdapter.java
com.ideabag.playtunes.adapter.AlbumsAllAdapter.java
com.ideabag.playtunes.adapter.AlbumsOneAdapter.java
com.ideabag.playtunes.adapter.ArtistAlbumsAdapter.java
com.ideabag.playtunes.adapter.ArtistAllSongsAdapter.java
com.ideabag.playtunes.adapter.ArtistListAdapter.java
com.ideabag.playtunes.adapter.ArtistSinglesAdapter.java
com.ideabag.playtunes.adapter.ArtistsAllAdapter.java
com.ideabag.playtunes.adapter.AsyncQueryAdapter.java
com.ideabag.playtunes.adapter.GenresAllAdapter.java
com.ideabag.playtunes.adapter.GenresOneAdapter.java
com.ideabag.playtunes.adapter.NavigationListAdapter.java
com.ideabag.playtunes.adapter.PlaylistsAllAdapter.java
com.ideabag.playtunes.adapter.PlaylistsOneAdapter.java
com.ideabag.playtunes.adapter.SongListAdapter.java
com.ideabag.playtunes.adapter.SongsAllAdapter.java
com.ideabag.playtunes.adapter.search.SearchAlbumsAdapter.java
com.ideabag.playtunes.adapter.search.SearchArtistsAdapter.java
com.ideabag.playtunes.adapter.search.SearchSongsAdapter.java
com.ideabag.playtunes.database.MediaQuery.java
com.ideabag.playtunes.dialog.AddToPlaylistDialogFragment.java
com.ideabag.playtunes.dialog.CreatePlaylistDialogFragment.java
com.ideabag.playtunes.dialog.FeedbackDialogFragment.java
com.ideabag.playtunes.dialog.PlaylistDeleteDialogFragment.java
com.ideabag.playtunes.dialog.PlaylistMenuDialogFragment.java
com.ideabag.playtunes.dialog.PlaylistRenameDialogFragment.java
com.ideabag.playtunes.dialog.RateAppDialogFragment.java
com.ideabag.playtunes.dialog.SongMenuDialogFragment.java
com.ideabag.playtunes.fragment.AlbumsAllFragment.java
com.ideabag.playtunes.fragment.AlbumsOneFragment.java
com.ideabag.playtunes.fragment.ArtistSinglesFragment.java
com.ideabag.playtunes.fragment.ArtistsAllFragment.java
com.ideabag.playtunes.fragment.ArtistsOneFragment.java
com.ideabag.playtunes.fragment.FooterControlsFragment.java
com.ideabag.playtunes.fragment.GenresAllFragment.java
com.ideabag.playtunes.fragment.GenresOneFragment.java
com.ideabag.playtunes.fragment.MusicBrowserFragment.java
com.ideabag.playtunes.fragment.NavigationDrawerFragment.java
com.ideabag.playtunes.fragment.NavigationFragment.java
com.ideabag.playtunes.fragment.PlaylistsAllFragment.java
com.ideabag.playtunes.fragment.PlaylistsOneFragment.java
com.ideabag.playtunes.fragment.SaveScrollListFragment.java
com.ideabag.playtunes.fragment.SongsFragment.java
com.ideabag.playtunes.fragment.TrackProgressFragment.java
com.ideabag.playtunes.fragment.search.SearchAlbumsFragment.java
com.ideabag.playtunes.fragment.search.SearchAllFragment.java
com.ideabag.playtunes.fragment.search.SearchArtistsFragment.java
com.ideabag.playtunes.fragment.search.SearchFragment.java
com.ideabag.playtunes.fragment.search.SearchSongsFragment.java
com.ideabag.playtunes.fragment.search.SearchSuggestionsFragment.java
com.ideabag.playtunes.media.AudioFocusHelper.java
com.ideabag.playtunes.media.MusicFocusable.java
com.ideabag.playtunes.media.MusicIntentReceiver.java
com.ideabag.playtunes.media.PlaylistMediaPlayer.java
com.ideabag.playtunes.media.RemoteControlClientCompat.java
com.ideabag.playtunes.media.RemoteControlHelper.java
com.ideabag.playtunes.service.LockscreenManager.java
com.ideabag.playtunes.service.MusicPlayerService.java
com.ideabag.playtunes.service.PlaybackNotification.java
com.ideabag.playtunes.util.AdmobUtil.java
com.ideabag.playtunes.util.AlbumSongsCountTask.java
com.ideabag.playtunes.util.AsyncDrawable.java
com.ideabag.playtunes.util.BitmapWorkerTask.java
com.ideabag.playtunes.util.CheckRemoteVersionFileTask.java
com.ideabag.playtunes.util.DrawerLayout.java
com.ideabag.playtunes.util.GAEvent.java
com.ideabag.playtunes.util.IMusicBrowser.java
com.ideabag.playtunes.util.ISearchableAdapter.java
com.ideabag.playtunes.util.LoadAlbumStackTask.java
com.ideabag.playtunes.util.MergeAdapter.java
com.ideabag.playtunes.util.QueryCountTask.java
com.ideabag.playtunes.util.SackOfViewsAdapter.java
com.ideabag.playtunes.util.SearchHistory.java
com.ideabag.playtunes.util.StarToggleTask.java
com.ideabag.playtunes.util.TrackerSingleton.java