Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.MMWeb;
- import android.app.Activity;
- import android.app.ProgressDialog;
- import android.os.Bundle;
- import android.view.LayoutInflater;
- import android.view.Menu;
- import android.view.MenuItem;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.AdapterView;
- import android.widget.AdapterView.OnItemClickListener;
- import android.widget.BaseAdapter;
- import android.widget.GridView;
- import android.widget.ImageView;
- import android.widget.TextView;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.net.URL;
- import java.util.ArrayList;
- import com.MMWeb.Common;
- public class MMWeb extends Activity {
- browse br;
- player pl;
- int cView;
- static DataCache d;
- static LayoutInflater mInflater;
- static ProgressDialog pd;
- public void onCreate(Bundle paramBundle)
- {
- super.onCreate(paramBundle); //!IMPORTANT!
- pd = ProgressDialog.show(this, null, "Loading...");
- cView = 0;
- d = new DataCache();
- Common.cacheDir = getExternalFilesDir(null);
- mInflater = getLayoutInflater();
- d.getImage("noImage", "img/Icons/noImage.png");
- }
- public boolean onCreateOptionsMenu(Menu paramMenu)
- {
- paramMenu.add(0, 0, 0, "Browse");
- paramMenu.add(0, 1, 1, "Upload");
- paramMenu.add(0, 2, 2, "Settings");
- return super.onCreateOptionsMenu(paramMenu);
- }
- @Override
- public void onBackPressed() {
- switch (cView) {
- case 0:
- finish();
- break;
- case 1:
- switch (br.cView) {
- case 0:
- cView = 0;
- pl.showPlayer();
- break;
- case 1:
- br.showGenres();
- break;
- case 2:
- br.showArtists();
- break;
- case 3:
- br.showAlbums();
- break;
- }
- break;
- }
- return;
- }
- public boolean onMenuItemSelected(int paramInt, MenuItem paramMenuItem) {
- switch (paramMenuItem.getItemId())
- {
- case 0:
- cView = 1;
- br = new browse();
- break;
- case 2:
- cView = 3;
- pl = new player();
- }
- return super.onMenuItemSelected(paramInt, paramMenuItem);
- }
- public class player {
- public player() {
- setContentView(2130903042);
- }
- public void showPlayer(){
- setContentView(2130903042);
- }
- }
- public class browse {
- HTTPRequest HR;
- String cAlbum;
- String cArtist;
- String cGenre;
- int cView;
- GridView gridview;
- ArrayList<ArrayList<String>> items;
- public browse() {
- HR = new HTTPRequest();
- setContentView(R.layout.browse);
- gridview = (GridView) findViewById(R.id.gridview);
- showGenres();
- }
- public OnItemClickListener OCLGenre = new OnItemClickListener() {
- public void onItemClick(AdapterView<?> paramAdapterView, View paramView, int position, long paramLong) {
- cGenre = items.get(position).get(0);
- showArtists();
- }
- };
- public OnItemClickListener OCLArtist = new OnItemClickListener() {
- public void onItemClick(AdapterView<?> paramAdapterView, View paramView, int position, long paramLong) {
- cArtist = items.get(position).get(0);
- showAlbums();
- }
- };
- public OnItemClickListener OCLAlbum = new OnItemClickListener() {
- public void onItemClick(AdapterView<?> paramAdapterView, View paramView, int position, long paramLong) {
- cAlbum = items.get(position).get(0);
- showSongs();
- }
- };
- private void showGenres()
- {
- long starttime = System.currentTimeMillis();
- ArrayList<ArrayList<String>> items = HR.request("browse.php?action=getGenreList");
- cView = 0;
- gridview.setAdapter(new ImageAdapter(items));
- gridview.setOnItemClickListener(OCLGenre);
- Common.toLog("showGenre took "+ (System.currentTimeMillis() - starttime) + " ms");
- }
- private void showArtists()
- {
- ArrayList<ArrayList<String>> items = HR.request("browse.php?action=getArtistList&whereGenre=" + cGenre);
- cView = 1;
- gridview.setAdapter(new ImageAdapter(items));
- gridview.setOnItemClickListener(OCLArtist);
- }
- private void showAlbums()
- {
- ArrayList<ArrayList<String>> items = HR.request("browse.php?action=getAlbumList&whereArtist=" + cArtist);
- cView = 2;
- gridview.setAdapter(new ImageAdapter(items));
- gridview.setOnItemClickListener(OCLAlbum);
- }
- private void showSongs()
- {
- ArrayList<ArrayList<String>> items = HR.request("browse.php?action=getSongList&whereAlbum=" + cAlbum);
- cView = 3;
- }
- }// end browse class
- public static class ImageAdapter extends BaseAdapter
- {
- ArrayList<ArrayList<String>> items;
- public ImageAdapter(ArrayList<ArrayList<String>> a){
- items = a;
- }
- public int getCount()
- {
- return items.size();
- }
- public Object getItem(int paramInt)
- {
- return null;
- }
- public long getItemId(int paramInt)
- {
- return paramInt;
- }
- public View getView(int position, View paramView, ViewGroup paramViewGroup)
- {
- long starttime = System.currentTimeMillis();
- ViewHolder holder;
- if (paramView == null) {
- // inflate a new view into paramView.
- paramView = mInflater.inflate(R.layout.grid_item, null);
- holder = new ViewHolder();
- holder.text = (TextView)paramView.findViewById(2131034115);
- holder.icon = (ImageView)paramView.findViewById(2131034114);
- paramView.setTag(holder);
- } else {
- holder = (ViewHolder) paramView.getTag();
- }
- holder.text.setText(items.get(position).get(1));
- holder.icon.setImageBitmap(d.getImage(items.get(position).get(3), items.get(position).get(2)));
- Common.toLog("getView took "+ (System.currentTimeMillis() - starttime) + " ms for ID "+items.get(position).get(0));
- return paramView;
- }
- static class ViewHolder {
- TextView text;
- ImageView icon;
- }
- }
- public class HTTPRequest {
- private ArrayList<ArrayList<String>> toArray(String paramString) {
- ArrayList<ArrayList<String>> output = new ArrayList<ArrayList<String>>();
- String[] arr1 = paramString.split("\\|");
- for( String a : arr1 ) {
- String[] arr2 = a.split(";");
- ArrayList<String> out = new ArrayList<String>();
- for( String b : arr2 ){
- out.add(b.toString());
- }
- output.add(out);
- }
- return output;
- }
- public ArrayList<ArrayList<String>> request(String request)
- {
- long starttime = System.currentTimeMillis();
- StringBuffer SB = new StringBuffer();
- try {
- URL url = new URL(Common.server+request);
- BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
- String inputLine;
- while ((inputLine = in.readLine()) != null) {
- SB.append(inputLine);
- }
- in.close();
- } catch (IOException e)
- {
- Common.toLog("Could not make connection 1");
- }
- Common.toLog("HR.request took "+ (System.currentTimeMillis() - starttime) + " ms");
- return toArray(SB.toString());
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement