package com.ringtone.music;
import java.util.ArrayList;
import com.ringtone.music.download.DownloadActivity;
import android.app.ListActivity;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.BaseAdapter;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.AdapterView.OnItemClickListener;
public class BillBoardCate extends ListActivity implements OnItemClickListener {
String[] billboardString = {"Hot 100 Singles","200 Albums","Hot RnB HipHop Songs Singles",
"Country Songs Singles","Modern Rock Tracks Singles","Dance Club Play Singles",
"Hot Rap Tracks Singles","Pop 100 Singles","Hot Mainstream Rock Tracks Singles",
"Hot Adult Top40 Tracks Singles", "UK Billboard", "Japan Billboard",
"China Top New Songs", "China Top Songs", "Japan and Korea Top Songs"};
String[] billboardUrl = {"http://music-chart.appspot.com/chart/billboard_hot_100_singles",
"http://music-chart.appspot.com/chart/billboard_200_albums",
"http://music-chart.appspot.com/chart/billboard_hot_rnb_hip_hop_songs_singles",
"http://music-chart.appspot.com/chart/billboard_country_songs_singles",
"http://music-chart.appspot.com/chart/billboard_modern_rock_tracks_singles",
"http://music-chart.appspot.com/chart/billboard_dance_club_play_singles",
"http://music-chart.appspot.com/chart/billboard_hot_rap_tracks_singles",
"http://music-chart.appspot.com/chart/billboard_pop_100_singles",
"http://music-chart.appspot.com/chart/billboard_hot_mainstream_rock_tracks_singles",
"http://music-chart.appspot.com/chart/billboard_hot_adult_top_40_tracks_singles",
"http://music-chart.appspot.com/chart/billboard_uk",
"http://music-chart.appspot.com/chart/billboard_japan",
"http://music-chart.appspot.com/chart/billboard_china_new",
"http://music-chart.appspot.com/chart/billboard_china_top",
"http://music-chart.appspot.com/chart/billboard_j_and_k"
};
private ArrayList<String> mItems = new ArrayList<String>();
private CatAdapter mCatAdapter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.billboard_cat_list);
Utils.addAds(this);
int numBoards = Math.min(billboardString.length, billboardUrl.length);
for (int i = 0; i < numBoards; i++) {
mItems.add(billboardString[i]);
}
mCatAdapter = new CatAdapter(BillBoardCate.this,R.layout.billboard_cat_item);
final ListView list = getListView();
setListAdapter(mCatAdapter);
list.setDividerHeight(1);
list.setFocusable(true);
list.setTextFilterEnabled(true);
list.setOnItemClickListener(this);
}
@Override
public void onItemClick(AdapterView<?> parent, View v, int pos, long id) {
Intent intent = new Intent(BillBoardCate.this, BillBoardList.class);
intent.putExtra("url", billboardUrl[pos]);
startActivity(intent);
}
private final class CatAdapter extends BaseAdapter {
private int mResource;
private LayoutInflater mInflater;
public CatAdapter(Context context, int resource) {
mResource = resource;
mInflater = (LayoutInflater)context.getSystemService(
Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return mItems.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return mItems.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
View v;
String item = mItems.get(position);
if (convertView == null) {
v = mInflater.inflate(mResource, parent, false);
} else {
v = convertView;
}
((TextView) v.findViewById(R.id.cat_name)).setText(item);
return v;
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.billboard_menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.bill_dowloads:
Intent intent = new Intent(BillBoardCate.this, DownloadActivity.class);
startActivity(intent);
return true;
}
return false;
}
}