Advertisement
Peter_Elzinga

bug-1

Oct 6th, 2011
205
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.84 KB | None | 0 0
  1. package com.MMWeb;
  2.  
  3. import android.app.Activity;
  4. import android.app.ProgressDialog;
  5. import android.os.Bundle;
  6. import android.view.LayoutInflater;
  7. import android.view.Menu;
  8. import android.view.MenuItem;
  9. import android.view.View;
  10. import android.view.ViewGroup;
  11. import android.widget.AdapterView;
  12. import android.widget.AdapterView.OnItemClickListener;
  13. import android.widget.BaseAdapter;
  14. import android.widget.GridView;
  15. import android.widget.ImageView;
  16. import android.widget.TextView;
  17.  
  18. import java.io.BufferedReader;
  19. import java.io.IOException;
  20. import java.io.InputStreamReader;
  21. import java.net.URL;
  22. import java.util.ArrayList;
  23.  
  24. import com.MMWeb.Common;
  25.  
  26. public class MMWeb extends Activity {
  27.     browse br;
  28.     player pl;
  29.     int cView;
  30.     static DataCache d;
  31.     static LayoutInflater mInflater;
  32.     static ProgressDialog pd;
  33.    
  34.     public void onCreate(Bundle paramBundle)
  35.     {
  36.         super.onCreate(paramBundle); //!IMPORTANT!
  37.         pd = ProgressDialog.show(this, null, "Loading...");
  38.         cView = 0;
  39.         d = new DataCache();
  40.         Common.cacheDir = getExternalFilesDir(null);
  41.         mInflater = getLayoutInflater();
  42.         d.getImage("noImage", "img/Icons/noImage.png");
  43.     }
  44.    
  45.  
  46.     public boolean onCreateOptionsMenu(Menu paramMenu)
  47.     {
  48.         paramMenu.add(0, 0, 0, "Browse");
  49.         paramMenu.add(0, 1, 1, "Upload");
  50.         paramMenu.add(0, 2, 2, "Settings");
  51.         return super.onCreateOptionsMenu(paramMenu);
  52.     }
  53.    
  54.     @Override
  55.     public void onBackPressed() {
  56.         switch (cView) {
  57.         case 0:
  58.             finish();
  59.         break;
  60.         case 1:
  61.             switch (br.cView) {
  62.                 case 0:
  63.                     cView = 0;
  64.                     pl.showPlayer();
  65.                     break;
  66.                 case 1:
  67.                     br.showGenres();
  68.                     break;
  69.                 case 2:
  70.                     br.showArtists();
  71.                     break;
  72.                 case 3:
  73.                     br.showAlbums();
  74.                     break;
  75.             }
  76.             break;
  77.         }
  78.     return;
  79.     }
  80.  
  81.     public boolean onMenuItemSelected(int paramInt, MenuItem paramMenuItem) {
  82.         switch (paramMenuItem.getItemId())
  83.         {
  84.             case 0:
  85.                 cView = 1;
  86.                 br = new browse();
  87.             break;
  88.             case 2:
  89.                 cView = 3;
  90.                 pl = new player();
  91.         }
  92.         return super.onMenuItemSelected(paramInt, paramMenuItem);
  93.     }
  94.    
  95.     public class player {
  96.         public player() {
  97.             setContentView(2130903042);
  98.         }
  99.        
  100.         public void showPlayer(){
  101.             setContentView(2130903042);
  102.         }
  103.     }
  104.  
  105.     public class browse {
  106.         HTTPRequest HR;
  107.         String cAlbum;
  108.         String cArtist;
  109.         String cGenre;
  110.         int cView;
  111.         GridView gridview;
  112.         ArrayList<ArrayList<String>> items;
  113.        
  114.         public browse() {
  115.             HR = new HTTPRequest();
  116.             setContentView(R.layout.browse);
  117.             gridview = (GridView) findViewById(R.id.gridview);
  118.             showGenres();
  119.         }
  120.      
  121.         public OnItemClickListener OCLGenre = new OnItemClickListener() {
  122.             public void onItemClick(AdapterView<?> paramAdapterView, View paramView, int position, long paramLong) {
  123.             cGenre = items.get(position).get(0);
  124.             showArtists();
  125.             }
  126.         };
  127.      
  128.         public OnItemClickListener OCLArtist = new OnItemClickListener() {
  129.             public void onItemClick(AdapterView<?> paramAdapterView, View paramView, int position, long paramLong) {
  130.             cArtist = items.get(position).get(0);
  131.             showAlbums();
  132.             }
  133.         };
  134.    
  135.         public OnItemClickListener OCLAlbum = new OnItemClickListener() {
  136.             public void onItemClick(AdapterView<?> paramAdapterView, View paramView, int position, long paramLong) {
  137.             cAlbum = items.get(position).get(0);
  138.             showSongs();
  139.             }
  140.         };
  141.      
  142.         private void showGenres()
  143.         {
  144.             long starttime = System.currentTimeMillis();
  145.             ArrayList<ArrayList<String>> items = HR.request("browse.php?action=getGenreList");
  146.             cView = 0;
  147.             gridview.setAdapter(new ImageAdapter(items));
  148.             gridview.setOnItemClickListener(OCLGenre);
  149.             Common.toLog("showGenre took "+ (System.currentTimeMillis() - starttime) + " ms");
  150.         }
  151.    
  152.         private void showArtists()
  153.         {
  154.             ArrayList<ArrayList<String>> items = HR.request("browse.php?action=getArtistList&whereGenre=" + cGenre);
  155.             cView = 1;
  156.             gridview.setAdapter(new ImageAdapter(items));
  157.             gridview.setOnItemClickListener(OCLArtist);
  158.         }
  159.        
  160.         private void showAlbums()
  161.         {
  162.             ArrayList<ArrayList<String>> items = HR.request("browse.php?action=getAlbumList&whereArtist=" + cArtist);
  163.             cView = 2;
  164.             gridview.setAdapter(new ImageAdapter(items));
  165.             gridview.setOnItemClickListener(OCLAlbum);
  166.         }
  167.    
  168.         private void showSongs()
  169.         {
  170.             ArrayList<ArrayList<String>> items = HR.request("browse.php?action=getSongList&whereAlbum=" + cAlbum);
  171.             cView = 3;
  172.            
  173.         }
  174.        
  175.     }// end browse class
  176.    
  177.     public static class ImageAdapter extends BaseAdapter
  178.     {
  179.         ArrayList<ArrayList<String>> items;
  180.        
  181.         public ImageAdapter(ArrayList<ArrayList<String>> a){
  182.             items = a;
  183.         }
  184.  
  185.         public int getCount()
  186.         {
  187.             return items.size();
  188.         }
  189.  
  190.         public Object getItem(int paramInt)
  191.         {
  192.             return null;
  193.         }
  194.        
  195.         public long getItemId(int paramInt)
  196.         {
  197.             return paramInt;
  198.         }          
  199.        
  200.         public View getView(int position, View paramView, ViewGroup paramViewGroup)
  201.         {
  202.             long starttime = System.currentTimeMillis();
  203.            
  204.             ViewHolder holder;
  205.            
  206.             if (paramView == null) {
  207.                 // inflate a new view into paramView.
  208.                 paramView = mInflater.inflate(R.layout.grid_item, null);
  209.                
  210.                 holder = new ViewHolder();
  211.                 holder.text = (TextView)paramView.findViewById(2131034115);
  212.                 holder.icon = (ImageView)paramView.findViewById(2131034114);
  213.                
  214.                 paramView.setTag(holder);
  215.             } else {
  216.                 holder = (ViewHolder) paramView.getTag();
  217.             }
  218.  
  219.              holder.text.setText(items.get(position).get(1));
  220.              holder.icon.setImageBitmap(d.getImage(items.get(position).get(3), items.get(position).get(2)));
  221.  
  222.              Common.toLog("getView took "+ (System.currentTimeMillis() - starttime) + " ms for ID "+items.get(position).get(0));
  223.              return paramView;
  224.            
  225.         }
  226.        
  227.         static class ViewHolder {
  228.             TextView text;
  229.             ImageView icon;
  230.         }
  231.     }
  232.    
  233.     public class HTTPRequest {
  234.         private ArrayList<ArrayList<String>> toArray(String paramString) {
  235.             ArrayList<ArrayList<String>> output = new ArrayList<ArrayList<String>>();
  236.             String[] arr1 = paramString.split("\\|");
  237.             for( String a : arr1 ) {
  238.                 String[] arr2 = a.split(";");
  239.                 ArrayList<String> out = new ArrayList<String>();
  240.                 for( String b : arr2 ){
  241.                     out.add(b.toString());
  242.                 }
  243.                 output.add(out);
  244.             }
  245.             return output;
  246.         }
  247.  
  248.       public ArrayList<ArrayList<String>> request(String request)
  249.       {
  250.           long starttime = System.currentTimeMillis();
  251.           StringBuffer SB = new StringBuffer();
  252.           try {
  253.               URL url = new URL(Common.server+request);
  254.               BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
  255.               String inputLine;
  256.               while ((inputLine = in.readLine()) != null) {
  257.                   SB.append(inputLine);
  258.               }
  259.               in.close();
  260.           } catch (IOException e)
  261.           {
  262.               Common.toLog("Could not make connection 1");
  263.           }
  264.           Common.toLog("HR.request took "+ (System.currentTimeMillis() - starttime) + " ms");
  265.           return toArray(SB.toString());
  266.         }
  267.     }
  268. }
  269.  
  270.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement