package com.ideabag.playtunes.fragment.xlarge.browser;
import com.google.android.gms.analytics.HitBuilders;
import com.ideabag.playtunes.R;
import com.ideabag.playtunes.activity.MainActivity;
import com.ideabag.playtunes.adapter.ArtistsAllAdapter;
import com.ideabag.playtunes.database.MediaQuery;
import com.ideabag.playtunes.util.GAEvent.Categories;
import com.ideabag.playtunes.util.GAEvent.Playlist;
import android.app.Activity;
import android.database.ContentObserver;
import android.database.Cursor;
import android.os.Bundle;
import android.os.Handler;
import android.provider.MediaStore;
import android.support.v4.app.ListFragment;
import android.view.View;
import android.widget.ListView;
public class ArtistGenreFragment extends ListFragment {
ArtistsAllAdapter adapter;
FilteredAlbumsFragment mAlbumsFragment;
MainActivity mActivity;
@Override public void onAttach( Activity activity ) {
super.onAttach(activity);
mActivity = ( MainActivity ) activity;
}
@Override public void onActivityCreated( Bundle savedInstanceState ) {
super.onActivityCreated(savedInstanceState);
adapter = new ArtistsAllAdapter( getActivity(), new MediaQuery.OnQueryCompletedListener() {
@Override public void onQueryCompleted( MediaQuery mQuery, Cursor mResult ) {
mActivity.setActionbarTitle( getString( R.string.all_songs ) );
}
});
//MediaQuery.execute( getActivity(), query)
getView().setBackgroundColor( getResources().getColor( android.R.color.white ) );
getListView().setDivider( getResources().getDrawable( R.drawable.list_divider ) );
getListView().setDividerHeight( 1 );
getListView().setSelector( R.drawable.list_item_background );
//getListView().addHeaderView( mActivity.AdContainer, null, true );
setListAdapter( adapter );
getActivity().getContentResolver().registerContentObserver(
MediaStore.Audio.Artists.EXTERNAL_CONTENT_URI, true, mediaStoreChanged );
}
@Override public void onResume() {
super.onResume();
}
@Override public void onListItemClick( ListView l, View v, int position, long id ) {
String artistID = ( String ) v.getTag( R.id.tag_artist_id );
//String genreID = ( String ) v.getTag( R.id.tag_genre_id );
if ( mAlbumsFragment == null ) {
mAlbumsFragment = ( FilteredAlbumsFragment ) getFragmentManager().findFragmentById( R.id.ArtistsAlbumsPickerFragment );
}
if ( mAlbumsFragment != null ) {
if ( artistID != null ) {
mAlbumsFragment.setArtistID( artistID );
MediaQuery mGetArtistName = new MediaQuery(
MediaStore.Audio.Artists.EXTERNAL_CONTENT_URI,
new String[] {
MediaStore.Audio.Artists.ARTIST,
MediaStore.Audio.Artists._ID
},
MediaStore.Audio.Artists._ID + " =?",
new String[] {
artistID
},
null
);
MediaQuery.executeAsync( getActivity(), mGetArtistName, new MediaQuery.OnQueryCompletedListener() {
@Override public void onQueryCompleted(MediaQuery mQuery, Cursor mResult) {
if ( mResult != null && mResult.getCount() > 0 ) {
mResult.moveToFirst();
try {
mActivity.setActionbarTitle( mResult.getString( mResult.getColumnIndexOrThrow( MediaStore.Audio.Artists.ARTIST ) ) );
//mActivity.setActionbarSubtitle( mResult.getCount() + " " + ( mResult.getCount() == 1 ? getString( R.string.song_singular) : getString( R.string.songs_plural) ) );
} catch( Exception e ) {
mActivity.setActionbarTitle( null );
//mActivity.setActionbarSubtitle( null );
}
//restoreScrollPosition();
}
if ( mResult != null && !mResult.isClosed() ) {
mResult.close();
}
}
});
}/* else if ( genreID != null ) {
mAlbumsFragment.setGenreID( genreID );
}*/
}
}
ContentObserver mediaStoreChanged = new ContentObserver(new Handler()) {
@Override public void onChange( boolean selfChange ) {
/*
mActivity.runOnUiThread( new Runnable() {
@Override public void run() {
saveScrollPosition();
adapter.requery();
}
});
*/
super.onChange( selfChange );
}
};
}