package com.example.ipcplayer.homeview;
import java.util.ArrayList;
import com.example.ipcplayer.R;
import com.example.ipcplayer.activity.MainActivity;
import com.example.ipcplayer.adapter.GridAdapter;
import com.example.ipcplayer.controller.IUICallBack;
import com.example.ipcplayer.controller.UICallBackController;
import com.example.ipcplayer.localfragment.ItemData;
import com.example.ipcplayer.manager.LocalMusicManager;
import com.example.ipcplayer.utils.LogUtil;
import android.content.Context;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.AdapterView;
import android.widget.GridView;
public class LocalMainView extends BaseHomeView{
private static final String TAG = LocalMainView.class.getSimpleName();
private GridView mLocalGrid;
private View mBackupView;
private LocalMusicManager mLocalMusicManager;
private ArrayList<ItemData> mItemDatas;
private GridAdapter mAdapter;
private MainActivity mMainActivity;
public LocalMainView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public LocalMainView(Context context, AttributeSet attrs){
super(context, attrs);
}
public LocalMainView(Context context){
super(context);
}
@Override
protected void onCreateView(Context context, AttributeSet attrs) {
mMainActivity = (MainActivity) context;
View view =LayoutInflater.from(context).inflate(R.layout.local_music_grid,this);
mLocalGrid = (GridView) view.findViewById(R.id.localmusicgird);
mBackupView = (View) view.findViewById(R.id.backup);
mBackupView.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
LogUtil.d(TAG + " click mBackupView " );
}
});
mLocalMusicManager = new LocalMusicManager(context);
mItemDatas = mLocalMusicManager.getLocalMusicItems();
mAdapter = new GridAdapter(context);
mLocalGrid.setClickable(true);
mLocalGrid.setFocusable(true);
mLocalGrid.setAdapter(mAdapter);
mLocalGrid.setOnItemClickListener(mGridItemClickListener);
LogUtil.d(TAG + " setOnItemClickListener " );
}
@Override
protected void onRelease() {
}
// do this or don't ?
public void setCallBack(IUICallBack callback){
}
private final AdapterView.OnItemClickListener mGridItemClickListener = new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
LogUtil.d(TAG + " onItemClick ");
if(mItemDatas == null){
LogUtil.d(TAG + " mItemDatas in null ");
}
if(mItemDatas == null){
LogUtil.d(TAG + " mItemData or mOnItemClickListener is null");
return ;
}
LogUtil.d(TAG + " positon = " + position);
ItemData itemData = mItemDatas.get(position);
LogUtil.d(TAG + " itemData = "+ itemData.toString() + " itemData.mType" + itemData.mType);
switch(itemData.mType){
case ItemData.DATATYPE_ALLSONG_LIST :
LogUtil.d(TAG + " ItemData.DATATYPE_ALLSONG_LIST ");
onAllSongListClick();
break ;
default:
break ;
}
}
};
private void onAllSongListClick(){
LogUtil.d(TAG + " onAllSongListClick() ");
UICallBackController.showAllSongListFragment(mMainActivity);
}
}