Android Open Source - downtown X M L Parser






From Project

Back to project page downtown.

License

The source code is released under:

GNU General Public License

If you think the Android project downtown listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package org.dklisiaris.downtown.helper;
//from ww w.j  a v a 2  s  . c o  m

import java.io.IOException;
import java.io.StringReader;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.Arrays;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.conn.ConnectTimeoutException;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;
import org.apache.http.util.EntityUtils;
import org.dklisiaris.downtown.db.Banner;
import org.dklisiaris.downtown.db.Category;
import org.dklisiaris.downtown.db.Company;
import org.dklisiaris.downtown.db.Image;
import org.dklisiaris.downtown.db.InitData;
import org.dklisiaris.downtown.db.Keyword;
import org.dklisiaris.downtown.db.Mapping;
import org.dklisiaris.downtown.db.Product;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;

import android.text.TextUtils;
import android.util.Log;

public class XMLParser {  
  static final String KEY_PRODUCT = "product";
  static final String KEY_NAME = "name";
  static final String KEY_DEL = "delete";
  static final String KEY_DELS = "deleted";
  
    static final String KEY_DESC = "description";
    static final String KEY_IMAGE = "image";
    static final String KEY_DEL_IMAGE = "del_image";
    static final String KEY_CATEGORY = "category";
    static final String KEY_SUBCATEGORY = "subcategory";
    static final String KEY_AVAIL = "availability";
   
    static final String KEY_LANG= "latitude";
    static final String KEY_LONG = "longitude";
    static final String KEY_ID = "id";
    static final String KEY_ADDRESS = "address";
    static final String KEY_AREA = "area";
    static final String KEY_COUNTY = "county";
    static final String KEY_WEBSITE = "website";
    static final String KEY_TELS = "telephones";
    static final String KEY_TEL = "tel";
    static final String KEY_FAX = "fax";
    static final String KEY_TK = "tk";
    static final String KEY_LEVEL = "level";
    static final String KEY_CATEGORIES = "categories";
    static final String KEY_SUBCATEGORIES = "subcategories";    
    static final String KEY_INIT_IMG = "initial_images";
    static final String KEY_INIT_IMAGE = "init_image";
    static final String KEY_DEL_INIT_IMAGE = "del_init_image";
    
    static final String ATTR_CATEGORY_ID = "cat_id";
    static final String ATTR_ID = "id";
    static final String ATTR_UPDATE = "update-time";
        
    static final String KEY_UPDATES = "Downtown_Updates";
    static final String KEY_LICENSE = "license";
  static final String KEY_AVAIL_UPDATES = "available-updates";
  
  static final String KEY_CO_CAT = "co_cat";
  static final String KEY_DEL_CO_CAT = "del_co_cat";
  static final String KEY_KEY = "key";
  static final String KEY_DEL_KEY = "del_key";
  static final String KEY_CO_KEY = "co_key";
  static final String KEY_DEL_CO_KEY = "del_co_key";
  static final String KEY_CAT_KEY = "cat_key";
  static final String KEY_DEL_CAT_KEY = "del_cat_key";
  
  static final String ATTR_CO_ID = "co_id";
    static final String ATTR_CAT_ID = "cat_id";
    static final String ATTR_KEY_ID = "key_id";
        
    static final String KEY_BANNER = "banner";
    static final String KEY_DEL_BANNER = "del_banner";
    static final String KEY_ICON = "icon";
    static final String KEY_DEL_ICON = "del_icon";
    static final String KEY_BLANK = "blankImg";
    static final String ATTR_WEIGHT = "w";
  
  public XMLParser(){}
  
  public String getXmlFromUrl(String url) {
        String xml = null;
 
        try {
            // defaultHttpClient
            /*DefaultHttpClient httpClient = new DefaultHttpClient();
            HttpPost httpPost = new HttpPost(url);
 
            HttpResponse httpResponse = httpClient.execute(httpPost);
            HttpEntity httpEntity = httpResponse.getEntity();
            xml = EntityUtils.toString(httpEntity);*/
            
          HttpGet httpGet = new HttpGet(url);
        HttpParams httpParameters = new BasicHttpParams();
        // Set the timeout in milliseconds until a connection is established.
        // The default value is zero, that means the timeout is not used. 
        int timeoutConnection = 4000;
        HttpConnectionParams.setConnectionTimeout(httpParameters, timeoutConnection);
        // Set the default socket timeout (SO_TIMEOUT) 
        // in milliseconds which is the timeout for waiting for data.
        int timeoutSocket = 6000;
        HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket);

        DefaultHttpClient httpClient = new DefaultHttpClient(httpParameters);
        HttpResponse response = httpClient.execute(httpGet);
        
        HttpEntity httpEntity = response.getEntity();
            xml = EntityUtils.toString(httpEntity);
        }catch (ConnectTimeoutException e) { 
          xml = null;
          e.printStackTrace();
        } catch (UnsupportedEncodingException e) {
          xml = null;
            e.printStackTrace();
        } catch (ClientProtocolException e) {
          xml = null;
            e.printStackTrace();
        } catch (IOException e) {
          xml = null;
            e.printStackTrace();
        } 
        // return XML
        return xml;
    }
  
  public Document getDomElement(String xml){
        Document doc = null;
        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
        try {
 
            DocumentBuilder db = dbf.newDocumentBuilder();
 
            InputSource is = new InputSource();
                is.setCharacterStream(new StringReader(xml));
                doc = db.parse(is); 
 
            } catch (ParserConfigurationException e) {
                Log.e("Error: ", e.getMessage());
                return null;
            } catch (SAXException e) {
                Log.e("Error: ", e.getMessage());
                return null;
            } catch (IOException e) {
                Log.e("Error: ", e.getMessage());
                return null;
            }
                // return DOM
            return doc;
    }
  
  public String getValue(Element item, String str) {      
      NodeList n = item.getElementsByTagName(str);        
      return this.getElementValue(n.item(0));
  }
   
  public final String getElementValue( Node elem ) {
           Node child;
           if( elem != null){
               if (elem.hasChildNodes()){
                   for( child = elem.getFirstChild(); child != null; child = child.getNextSibling() ){
                       if( child.getNodeType() == Node.TEXT_NODE  ){
                           return child.getNodeValue();
                       }
                   }
               }
           }
           return "";
    }
  
  public String getAttributeFromNode(Element item, String key, String attr){
      NodeList nl = item.getElementsByTagName(key);
      Element elem = (Element)nl.item(0);
      return elem.getAttribute(attr);
    
  }
  
  /**
   * Getting if we should update from update.xml
   */
  public boolean getUpdate(Document doc){    
    Element e = (Element) doc.getElementsByTagName(KEY_UPDATES).item(0);
    String license = getValue(e,KEY_LICENSE);
    String isUpdate = getValue(e,KEY_AVAIL_UPDATES);    
    if(license.equals("true") && isUpdate.equals("yes"))
      return true;
    else 
      return false;
  }
  
  
  /**
   * Parsing all company-category mappings from companies.xml
   * @param isDeleted : true if we want deleted mappings, false otherwise 
   */
  public ArrayList<Mapping> parseCoCatMaps(Document doc, boolean isDeleted){
    ArrayList<Mapping> cocats = new ArrayList<Mapping>();  
    String tag = (isDeleted)? KEY_DEL_CO_CAT : KEY_CO_CAT;    
    NodeList nl = doc.getElementsByTagName(tag);
    for (int k = 0; k < nl.getLength();k++) {
            Element e = (Element) nl.item(k);
            int co_id = Integer.parseInt(e.getAttribute(ATTR_CO_ID)); 
            int cat_id = Integer.parseInt(e.getAttribute(ATTR_CAT_ID)); 
            Mapping ccm = new Mapping(co_id,cat_id);
            cocats.add(ccm);
    }    
    return cocats;
  }
  
  
  /**
   * Parsing all keywords from keywords.xml
   */
  public ArrayList<Keyword> parseKeywords(Document doc){
    ArrayList<Keyword> keywords = new ArrayList<Keyword>();          
    NodeList nl = doc.getElementsByTagName(KEY_KEY);
    for (int k = 0; k < nl.getLength();k++) {
            Element e = (Element) nl.item(k);
            int key_id = Integer.parseInt(e.getAttribute(ATTR_KEY_ID)); 
            String key_name = getElementValue(e);
            Keyword key = new Keyword(key_id,key_name);
            keywords.add(key);
    }    
    return keywords;
  }
  
  /**
   * Parsing all deleted keywords from keywords.xml
   */
  public ArrayList<Integer> parseDeletedKeywords(Document doc){
    ArrayList<Integer> keyIDs = new ArrayList<Integer>();          
    NodeList nl = doc.getElementsByTagName(KEY_DEL_KEY);
    for (int k = 0; k < nl.getLength();k++) {
            Element e = (Element) nl.item(k);            
            int key_id = Integer.parseInt(getElementValue(e));            
            keyIDs.add(key_id);
    }    
    return keyIDs;
  }
  
  
  /**
   * Parsing all company-keyword mappings from keywords.xml
   * @param isDeleted : true if we want deleted mappings, false otherwise 
   */
  public ArrayList<Mapping> parseCoKeyMaps(Document doc, boolean isDeleted){
    ArrayList<Mapping> cokeys = new ArrayList<Mapping>();  
    String tag = (isDeleted)? KEY_DEL_CO_KEY : KEY_CO_KEY;    
    NodeList nl = doc.getElementsByTagName(tag);
    for (int k = 0; k < nl.getLength();k++) {
            Element e = (Element) nl.item(k);
            int co_id = Integer.parseInt(e.getAttribute(ATTR_CO_ID)); 
            int key_id = Integer.parseInt(e.getAttribute(ATTR_KEY_ID)); 
            Mapping ckm = new Mapping(co_id,key_id);
            cokeys.add(ckm);
    }    
    return cokeys;
  }
  
  /**
   * Parsing all category-keyword mappings from keywords.xml
   * @param isDeleted : true if we want deleted mappings, false otherwise 
   */
  public ArrayList<Mapping> parseCatKeyMaps(Document doc, boolean isDeleted){
    ArrayList<Mapping> catkeys = new ArrayList<Mapping>();  
    String tag = (isDeleted)? KEY_DEL_CAT_KEY : KEY_CAT_KEY;    
    NodeList nl = doc.getElementsByTagName(tag);
    for (int k = 0; k < nl.getLength();k++) {
            Element e = (Element) nl.item(k);
            int cat_id = Integer.parseInt(e.getAttribute(ATTR_CAT_ID)); 
            int key_id = Integer.parseInt(e.getAttribute(ATTR_KEY_ID)); 
            Mapping ckm = new Mapping(cat_id,key_id);
            catkeys.add(ckm);
    }    
    return catkeys;
  }
  
  /**
   * Parsing all images from images.xml
   * @param isDeleted : true if we want deleted images, false otherwise
   */
  public ArrayList<Image> parseImages(Document doc, boolean isDeleted){
    ArrayList<Image> imgs = new ArrayList<Image>();    
    String tag = (isDeleted)? KEY_DEL_IMAGE : KEY_IMAGE;
    NodeList nl = doc.getElementsByTagName(tag);
    for (int k = 0; k < nl.getLength();k++) {
            Element e = (Element) nl.item(k);
            int co_id = Integer.parseInt(e.getAttribute(ATTR_CO_ID)); 
            int weight = (isDeleted)? 0 : Integer.parseInt(e.getAttribute(ATTR_WEIGHT));
            String img_url = getElementValue(e);
            Image img = new Image(co_id,weight,img_url);
            imgs.add(img);
    }
    return imgs;
  }
  
  /**
   * Parsing all banners or icons from images.xml
   * @param isIcon : true if we want icons, false if banners 
   * @param isDeleted : true if we want deleted images, false otherwise
   */
  public ArrayList<Banner> parseBanners(Document doc,boolean isIcon, boolean isDeleted){
    ArrayList<Banner> imgs = new ArrayList<Banner>();    
    String tag = (isIcon)? KEY_ICON : KEY_BANNER;
    if(isDeleted) tag = "del_"+tag;    
    NodeList nl = doc.getElementsByTagName(tag);
    for (int k = 0; k < nl.getLength();k++) {
            Element e = (Element) nl.item(k);
            int cat_id = Integer.parseInt(e.getAttribute(ATTR_CAT_ID)); 
            int weight = (!isDeleted && !isIcon)? Integer.parseInt(e.getAttribute(ATTR_WEIGHT)) : 0;
            String img_url = getElementValue(e);
            Banner img = new Banner(cat_id,weight,img_url,isIcon);
            imgs.add(img);
    }
    return imgs;
  }
  
  /**
   * Parsing initial images (start Banners) from images.xml
   * @param isDeleted : true if we want deleted banners, false otherwise
   */
  public ArrayList<Banner> parseStartBanners(Document doc, boolean isDeleted){
    ArrayList<Banner> imgs = new ArrayList<Banner>();    
    String tag = (isDeleted)? KEY_DEL_INIT_IMAGE : KEY_INIT_IMAGE;
    NodeList nl = doc.getElementsByTagName(tag);
    for (int k = 0; k < nl.getLength();k++) {
            Element e = (Element) nl.item(k);            
            int weight = Integer.parseInt(e.getAttribute(ATTR_WEIGHT));
            String img_url = getElementValue(e);
            Banner img = new Banner(0,weight,img_url,false);
            imgs.add(img);
    }
    return imgs;
  }
  
  /**
   * Check if there is a blank image to dl - from images.xml
   */
  public boolean getBlankImg(Document doc){    
    Element e = (Element) doc.getElementsByTagName(KEY_BLANK).item(0);
    String blank = getElementValue(e);        
    if(blank!=null && blank.equals("Blankside.jpg"))
      return true;
    else 
      return false;
  }
  
  /**
   * Parsing all categories from categories.xml
   */
  public ArrayList<Category> getAllCategories(Document doc){
    ArrayList<Category> cats = new ArrayList<Category>();    
    
    //Document doc = getDomElement(xml); // getting DOM element
        NodeList nl = doc.getElementsByTagName(KEY_CATEGORY);
        
        // looping through all item nodes <category>
        for (int k = 0; k < nl.getLength();k++) {
            Element e = (Element) nl.item(k);
          String name = getValue(e,KEY_NAME);
          int id=Integer.parseInt(e.getAttribute(ATTR_ID));          
          NodeList subItems = e.getElementsByTagName(KEY_SUBCATEGORY);
            for(int j=0; j<subItems.getLength(); j++){
              Element subItem = (Element) subItems.item(j);
              String subcat_name = getElementValue(subItem);
              int subcat_id = Integer.parseInt(subItem.getAttribute(ATTR_ID));
              int subcat_parent=id;
              Category subcat = new Category(subcat_id,subcat_name,subcat_parent);
              cats.add(subcat);
              //Log.d("Subcat",subcat.getCat_name());
            }
          Category cat = new Category(id,name,0);
          cats.add(cat);
            
        }
                
    return cats;
    
  }
  
  public InitData getInitData(Document doc){      
    //Document doc = getDomElement(xml); // getting DOM element
        NodeList nl = doc.getElementsByTagName(KEY_INIT_IMG);
        
        Element e = (Element) nl.item(0);
      String update = e.getAttribute(ATTR_UPDATE);
      //Log.d("Update time:",update);
      ArrayList<String> imgs = getImgUrlsFromElem(e,KEY_IMAGE);
      InitData ini = new InitData(update,imgs);

    return ini;    
  }
  
  public ArrayList<String> getDeleted(Document doc){
    ArrayList<String> dels = new ArrayList<String>();    
    
    //Document doc = getDomElement(xml); // getting DOM element
        NodeList nl = doc.getElementsByTagName(KEY_DEL);
        
        // looping through all item nodes <category>
        for (int k = 0; k < nl.getLength();k++) {
            Element e = (Element) nl.item(k);
          String del_id = getElementValue(e);          
          dels.add(del_id);
        }
        return dels;
  }

  public ArrayList<Company> getAllCompanies(Document doc){
    ArrayList<Company> companies = new ArrayList<Company>();
    
    //Document doc = getDomElement(xml); // getting DOM element
        NodeList nl = doc.getElementsByTagName(KEY_PRODUCT);
        
        // looping through all item nodes <category>
        for (int k = 0; k < nl.getLength();k++) {
            Element e = (Element) nl.item(k);
            int co_id = Integer.parseInt(getValue(e,KEY_ID));
          int avail = getValue(e,KEY_AVAIL).equals("yes") ? 1 : 0;
          int level = Integer.parseInt(getValue(e,KEY_LEVEL));
          int cat_id = Integer.parseInt(getAttributeFromNode(e,KEY_CATEGORY,ATTR_CATEGORY_ID));
          String website=null;
          if(avail==1)website=getValue(e,KEY_WEBSITE);          
          double langi=0.0,longi=0.0;
          ArrayList<String> imgs = getImgUrlsFromElem(e,KEY_IMAGE);
          ArrayList<String> tels = getMultiValuesFromElem(e,KEY_TEL);
          ArrayList<String> subcats = new ArrayList<String>();
          NodeList subItems = e.getElementsByTagName(KEY_SUBCATEGORY);
            for(int j=0; j<subItems.getLength(); j++){
              Element subItem = (Element) subItems.item(j);                          
              subcats.add(subItem.getAttribute(ATTR_CATEGORY_ID));              
            }
          String county = getValue(e,KEY_COUNTY);
          String tk = getValue(e,KEY_TK);
          String fax = getValue(e,KEY_FAX);
          String strLang=getValue(e,KEY_LANG), strLong=getValue(e,KEY_LONG);
          //Log.d("Coords: ",strLang+" - "+strLong);
          if (exists(strLang) && exists(strLong)){
              try{
                langi = Double.parseDouble(getValue(e,KEY_LANG));
                longi = Double.parseDouble(getValue(e,KEY_LONG));
              }catch(NumberFormatException nfe){nfe.printStackTrace();}
          }
          Company com =new Company(co_id,getValue(e,KEY_NAME),getValue(e,KEY_ADDRESS),getValue(e,KEY_DESC),
              imgs,tels,subcats,cat_id,getValue(e,KEY_AREA),county,tk,level,avail,
              website,fax,langi,longi);
          //Log.d("Namexml",pr.getName());
          companies.add(com);              
            
        }        
    return companies;
    
  }
  
  
  
  public ArrayList<String> getAllValuesWithTag(Document doc, String itemTag){
    ArrayList<String> items = new ArrayList<String>();
    //Document doc = getDomElement(xml); // getting DOM element
    NodeList nl = doc.getElementsByTagName(itemTag);
        // looping through all item nodes <category>
        for (int k = 0; k < nl.getLength();k++) {
            Element e = (Element) nl.item(k);
            String value = getElementValue(e);
            if (!items.contains(value) && value != null && !TextUtils.isEmpty(value)){             
                items.add(value); 
                //Log.d("Item added:",value);
            }
        }  

    return items;
  }
  
  public ArrayList<String> getMultiValuesFromElem(Element elem , String multiTag){
    ArrayList<String> multi = new ArrayList<String>();
    NodeList subItems = elem.getElementsByTagName(multiTag);  
        for(int j=0; j<subItems.getLength(); j++){
          Element subItem = (Element) subItems.item(j);
            String value = getElementValue(subItem);
            if (!multi.contains(value)){
              //Log.d(getValue(elem,KEY_NAME),value);
                multi.add(value); 
                //Log.d("Tel",value);
            }
        }
    return multi;
  }
  
  public ArrayList<String> getImgUrlsFromElem(Element elem , String multiTag){
    ArrayList<String> multi = new ArrayList<String>();
    NodeList subItems = elem.getElementsByTagName(multiTag);  
        for(int j=0; j<subItems.getLength(); j++){
          Element subItem = (Element) subItems.item(j);
            String value = getElementValue(subItem);
            if (!multi.contains(value) && isValidImageName(value)){
              //Log.d(getValue(elem,KEY_NAME),value);
                multi.add(value); 
            }
        }
    return multi;
  }
  
  public boolean isValidImageName(String imgName){
    if (imgName.endsWith(".jpg") || imgName.endsWith(".jpeg") || imgName.endsWith(".png") || imgName.endsWith(".bmp")){
      if(!imgName.startsWith("Blankside") && !imgName.startsWith("1Blankside") && imgName!=null && !TextUtils.isEmpty(imgName)){
        return true;
      }else return false;  
    } 
    else return false;
  }
  
  public ArrayList<String> getAllSubTagItems(Document doc, String elemTag, String itemTag, boolean isMulti){
    ArrayList<String> items = new ArrayList<String>();
    //Document doc = getDomElement(xml); // getting DOM element
    NodeList nl = doc.getElementsByTagName(elemTag);
        // looping through all item nodes <category>
        for (int k = 0; k < nl.getLength();k++) {
            Element e = (Element) nl.item(k);
            if(isMulti){
              NodeList subItems = e.getElementsByTagName(itemTag);  
              for(int j=0; j<subItems.getLength(); j++){
                Element subItem = (Element) subItems.item(j);
                String value = getElementValue(subItem);
                if (!items.contains(value)){             
                    items.add(value); 
                    //Log.d("Item added:",value);
                }
                //Log.d("Subcat",parser.getElementValue(subcat));
              }
            }else{
              String value = getValue(e, itemTag);
              if (!items.contains(value)){             
                  items.add(value); 
                  //Log.d("Item added:",value);
              }
            }
        }  

    return items;
  }
  
  
  public static boolean exists(final String string)  
  {  
     return string != null && !TextUtils.isEmpty(string) && !TextUtils.isEmpty(string.trim());  
  } 
  
  public static String convertArrayToString(ArrayList<String> array){
      String str = "";
      if(array!=null && array.size()>0){
        for (int i = 0;i<array.size(); i++) {
            str = str+array.get(i);
            // Do not append comma at the end of last element
            if(i<array.size()-1){
                str = str+",";
            }
        }
      }
      return str;
  }
  public static ArrayList<String> convertStringToArray(String str){
    if(str.length()>0){
      ArrayList<String> arr = new ArrayList<String>(Arrays.asList(str.split(",")));      
        return arr;
    }
    else return null;
  }
}




Java Source Code List

com.google.maps.android.BuildConfig.java
com.google.maps.android.BuildConfig.java
com.google.maps.android.MarkerManager.java
com.google.maps.android.MathUtil.java
com.google.maps.android.PolyUtil.java
com.google.maps.android.SphericalUtil.java
com.google.maps.android.clustering.ClusterItem.java
com.google.maps.android.clustering.ClusterManager.java
com.google.maps.android.clustering.Cluster.java
com.google.maps.android.clustering.algo.Algorithm.java
com.google.maps.android.clustering.algo.GridBasedAlgorithm.java
com.google.maps.android.clustering.algo.NonHierarchicalDistanceBasedAlgorithm.java
com.google.maps.android.clustering.algo.PreCachingAlgorithmDecorator.java
com.google.maps.android.clustering.algo.StaticCluster.java
com.google.maps.android.clustering.view.ClusterRenderer.java
com.google.maps.android.clustering.view.DefaultClusterRenderer.java
com.google.maps.android.geometry.Bounds.java
com.google.maps.android.geometry.Point.java
com.google.maps.android.projection.Point.java
com.google.maps.android.projection.SphericalMercatorProjection.java
com.google.maps.android.quadtree.PointQuadTree.java
com.google.maps.android.ui.BubbleIconFactory.java
com.google.maps.android.ui.IconGenerator.java
com.google.maps.android.ui.RotationLayout.java
com.google.maps.android.ui.SquareTextView.java
com.sothree.slidinguppanel.SlidingUpPanelLayout.java
com.sothree.slidinguppanel.library.BuildConfig.java
com.sothree.slidinguppanel.library.BuildConfig.java
org.dklisiaris.downtown.Addresses.java
org.dklisiaris.downtown.BuildConfig.java
org.dklisiaris.downtown.FavsActivity.java
org.dklisiaris.downtown.GlobalData.java
org.dklisiaris.downtown.Intro.java
org.dklisiaris.downtown.MainActivity.java
org.dklisiaris.downtown.Manifest.java
org.dklisiaris.downtown.MapActivity.java
org.dklisiaris.downtown.MoreActivity.java
org.dklisiaris.downtown.Products.java
org.dklisiaris.downtown.SearchActivity.java
org.dklisiaris.downtown.Search.java
org.dklisiaris.downtown.SingleListItem.java
org.dklisiaris.downtown.Subcategories.java
org.dklisiaris.downtown.SubcatsAndFilters.java
org.dklisiaris.downtown.Tabs.java
org.dklisiaris.downtown.TestActivity.java
org.dklisiaris.downtown.WebViewActivity.java
org.dklisiaris.downtown.Websites.java
org.dklisiaris.downtown.actionbar.ActionBar.java
org.dklisiaris.downtown.actionbar.ScrollingTextView.java
org.dklisiaris.downtown.adapters.AddressFilterAdapter.java
org.dklisiaris.downtown.adapters.CustomAdapter.java
org.dklisiaris.downtown.adapters.CustomStringAdapter.java
org.dklisiaris.downtown.adapters.CustomSuggestionsAdapter.java
org.dklisiaris.downtown.adapters.MultiSelectionAdapter.java
org.dklisiaris.downtown.adapters.SubcatsAdapter.java
org.dklisiaris.downtown.db.Banner.java
org.dklisiaris.downtown.db.Category.java
org.dklisiaris.downtown.db.Company.java
org.dklisiaris.downtown.db.DBHandler.java
org.dklisiaris.downtown.db.DBInterface.java
org.dklisiaris.downtown.db.Image.java
org.dklisiaris.downtown.db.InitData.java
org.dklisiaris.downtown.db.Keyword.java
org.dklisiaris.downtown.db.Mapping.java
org.dklisiaris.downtown.db.Product.java
org.dklisiaris.downtown.db.QueryBuilder.java
org.dklisiaris.downtown.downloader.DownloadTask.java
org.dklisiaris.downtown.downloader.NotificationHelper.java
org.dklisiaris.downtown.helper.AccessAssets.java
org.dklisiaris.downtown.helper.AlertDialogManager.java
org.dklisiaris.downtown.helper.ConnectionDetector.java
org.dklisiaris.downtown.helper.FileCache.java
org.dklisiaris.downtown.helper.ImageLoader.java
org.dklisiaris.downtown.helper.InfoHelper.java
org.dklisiaris.downtown.helper.KeyboardUtil.java
org.dklisiaris.downtown.helper.MemoryCache.java
org.dklisiaris.downtown.helper.ShareHelper.java
org.dklisiaris.downtown.helper.UpdateConfirmDialog.java
org.dklisiaris.downtown.helper.UpdateHelper.java
org.dklisiaris.downtown.helper.Utils.java
org.dklisiaris.downtown.helper.XMLParser.java
org.dklisiaris.downtown.maps.AbstractMapActivity.java
org.dklisiaris.downtown.maps.CompanyMarker.java
org.dklisiaris.downtown.maps.DirectionsInfo.java
org.dklisiaris.downtown.maps.GMapV2Direction.java
org.dklisiaris.downtown.maps.Nearby.java
org.dklisiaris.downtown.maps.PopupAdapter.java
org.dklisiaris.downtown.providers.KeywordContract.java
org.dklisiaris.downtown.providers.KeywordProvider.java
org.dklisiaris.downtown.widgets.AspectRatioImageView.java
org.dklisiaris.downtown.widgets.CheckableRelativeLayout.java
org.dklisiaris.downtown.widgets.CustomScrollView.java
org.dklisiaris.downtown.widgets.FlipAnimator.java
org.dklisiaris.downtown.widgets.InertCheckBox.java
org.dklisiaris.downtown.widgets.MultiSpinner.java