Example usage for android.graphics Color LTGRAY

List of usage examples for android.graphics Color LTGRAY

Introduction

In this page you can find the example usage for android.graphics Color LTGRAY.

Prototype

int LTGRAY

To view the source code for android.graphics Color LTGRAY.

Click Source Link

Usage

From source file:com.l4digital.fastscroll.FastScroller.java

private void layout(Context context, AttributeSet attrs) {
    inflate(context, R.layout.fastscroller, this);

    setClipChildren(false);/*from   w  ww.j a va  2 s  . c  om*/
    setOrientation(HORIZONTAL);

    mBubbleView = (TextView) findViewById(R.id.fastscroll_bubble);
    mHandleView = (ImageView) findViewById(R.id.fastscroll_handle);
    mTrackView = (ImageView) findViewById(R.id.fastscroll_track);
    mScrollbar = findViewById(R.id.fastscroll_scrollbar);

    @ColorInt
    int bubbleColor = Color.GRAY;
    @ColorInt
    int handleColor = Color.DKGRAY;
    @ColorInt
    int trackColor = Color.LTGRAY;
    @ColorInt
    int textColor = Color.WHITE;

    boolean hideScrollbar = true;
    boolean showTrack = false;

    if (attrs != null) {
        TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.FastScrollRecyclerView, 0, 0);

        if (typedArray != null) {
            try {
                bubbleColor = typedArray.getColor(R.styleable.FastScrollRecyclerView_bubbleColor, bubbleColor);
                handleColor = typedArray.getColor(R.styleable.FastScrollRecyclerView_handleColor, handleColor);
                trackColor = typedArray.getColor(R.styleable.FastScrollRecyclerView_trackColor, trackColor);
                textColor = typedArray.getColor(R.styleable.FastScrollRecyclerView_bubbleTextColor, textColor);
                showTrack = typedArray.getBoolean(R.styleable.FastScrollRecyclerView_showTrack, false);
                hideScrollbar = typedArray.getBoolean(R.styleable.FastScrollRecyclerView_hideScrollbar, true);
            } finally {
                typedArray.recycle();
            }
        }
    }

    setTrackColor(trackColor);
    setHandleColor(handleColor);
    setBubbleColor(bubbleColor);
    setBubbleTextColor(textColor);
    setHideScrollbar(hideScrollbar);
    setTrackVisible(showTrack);
}

From source file:org.gnucash.android.ui.account.AccountFormFragment.java

/**
 * Shows the color picker dialog/*  w w  w  . j a v a  2 s . c  om*/
 */
private void showColorPickerDialog() {
    FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
    int currentColor = Color.LTGRAY;
    if (mAccount != null) {
        String accountColor = mAccount.getColorHexCode();
        if (accountColor != null) {
            currentColor = Color.parseColor(accountColor);
        }
    }

    ColorPickerDialog colorPickerDialogFragment = ColorPickerDialog
            .newInstance(R.string.color_picker_default_title, getAccountColorOptions(), currentColor, 4, 12);
    colorPickerDialogFragment.setOnColorSelectedListener(mColorSelectedListener);
    colorPickerDialogFragment.show(fragmentManager, COLOR_PICKER_DIALOG_TAG);
}

From source file:org.starfishrespect.myconsumption.android.ui.ChartViewFragment.java

private void init() {
    Log.d(TAG, "init");
    layoutPointData.setVisibility(View.GONE);
    chartLayout.removeAllViews();/*  w ww  .java  2  s. c  o m*/
    chart = null;
    data = new HashMap<>();
    List<SensorData> sensors = SingleInstance.getUserController().getUser().getSensors();
    if (sensors.size() == 0) {
        textViewNoData.setVisibility(View.VISIBLE);
        textViewNoData.setText(R.string.chart_text_no_sensor);
        refreshingView.setVisibility(View.GONE);
    } else {
        textViewNoData.setText(R.string.chart_text_no_data);
    }
    for (SensorData sensor : sensors) {
        data.put(sensor.getSensorId(), new ChartSerieRendererContainer(sensor));
    }
    textViewNoData.setVisibility(View.VISIBLE);

    originalChartDataset = new XYMultipleSeriesDataset();
    currentChartDataset = new XYMultipleSeriesDataset();
    chartRenderer = new XYMultipleSeriesRenderer();

    chartRenderer.setApplyBackgroundColor(true);
    chartRenderer.setBackgroundColor(Color.WHITE);
    chartRenderer.setAxesColor(Color.DKGRAY);
    chartRenderer.setMarginsColor(Color.WHITE);
    chartRenderer.setGridColor(Color.LTGRAY);
    chartRenderer.setXLabelsColor(Color.DKGRAY);
    chartRenderer.setYLabelsColor(0, Color.DKGRAY);

    //chartRenderer.setZoomEnabled(true);
    //chartRenderer.setPanEnabled(true);
    chartRenderer.setZoomEnabled(true, false);
    chartRenderer.setPanEnabled(true, false);
    chartRenderer.setClickEnabled(true);

    chartRenderer.setShowGrid(true);
    chartRenderer.setXLabelFormat(new DecimalFormat() {
        @Override
        public StringBuffer format(double value, StringBuffer buffer, FieldPosition position) {
            Date dateFormat = new Date(((long) value) * 1000);
            buffer.append(new SimpleDateFormat("yyyy-MM-dd HH:mm").format(dateFormat));
            return buffer;
        }
    });

    chartRenderer.setShowLegend(false);

    minimalX = Integer.MAX_VALUE;
    maximalX = 0;
    maximalY = 0;
}

From source file:org.solovyev.android.messenger.BaseListFragment.java

protected void fillListView(@Nonnull ListView lv, @Nonnull Context context) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ECLAIR) {
        lv.setScrollbarFadingEnabled(true);
    }// w  ww. j  av  a 2  s  . com
    lv.setBackgroundDrawable(null);
    lv.setCacheColorHint(Color.TRANSPARENT);
    ListViewScroller.createAndAttach(lv, this);
    lv.setFastScrollEnabled(true);

    lv.setTextFilterEnabled(false);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) {
        lv.setOverscrollFooter(null);
    }

    lv.setVerticalFadingEdgeEnabled(false);
    lv.setFocusable(false);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
        lv.setVerticalScrollbarPosition(View.SCROLLBAR_POSITION_RIGHT);
    }
    lv.setDivider(new ColorDrawable(Color.LTGRAY));
    lv.setDividerHeight(1);
}

From source file:com.nadmm.airports.FragmentBase.java

protected void addSeparator(LinearLayout layout) {
    View separator = new View(mActivity);
    separator.setBackgroundColor(Color.LTGRAY);
    layout.addView(separator, new LayoutParams(LayoutParams.MATCH_PARENT, 1));
}

From source file:com.skytree.epubtest.BookViewActivity.java

public void makeLayout() {
    // make fonts
    this.makeFonts();
    // clear the existing themes. 
    themes.clear();//  w ww. ja  v  a2 s  .c  om
    // add themes 
    // String name,int foregroundColor,int backgroundColor,int controlColor,int controlHighlightColor,int seekBarColor,int seekThumbColor,int selectorColor,int selectionColor,String portraitName,String landscapeName,String doublePagedName,int bookmarkId
    themes.add(new Theme("white", Color.BLACK, 0xffffffff, Color.argb(240, 94, 61, 35), Color.LTGRAY,
            Color.argb(240, 94, 61, 35), Color.argb(120, 160, 124, 95), Color.DKGRAY, 0x22222222,
            "Phone-Portrait-White.png", "Phone-Landscape-White.png", "Phone-Landscape-Double-White.png",
            R.drawable.bookmark2x));
    themes.add(new Theme("brown", Color.BLACK, 0xffece3c7, Color.argb(240, 94, 61, 35),
            Color.argb(255, 255, 255, 255), Color.argb(240, 94, 61, 35), Color.argb(120, 160, 124, 95),
            Color.DKGRAY, 0x22222222, "Phone-Portrait-Brown.png", "Phone-Landscape-Brown.png",
            "Phone-Landscape-Double-Brown.png", R.drawable.bookmark2x));
    themes.add(new Theme("black", Color.LTGRAY, 0xff323230, Color.LTGRAY, Color.LTGRAY, Color.LTGRAY,
            Color.LTGRAY, Color.LTGRAY, 0x77777777, null, null, "Phone-Landscape-Double-Black.png",
            R.drawable.bookmarkgray2x));
    themes.add(new Theme("Leaf", 0xFF1F7F0E, 0xffF8F7EA, 0xFF186D08, Color.LTGRAY, 0xFF186D08, 0xFF186D08,
            Color.DKGRAY, 0x22222222, null, null, null, R.drawable.bookmarkgray2x));
    themes.add(new Theme("", 0xFFA13A0A, 0xFFF6DFD9, 0xFFA13A0A, 0xFFDC4F0E, 0xFFA13A0A, 0xFFA13A0A,
            Color.DKGRAY, 0x22222222, null, null, null, R.drawable.bookmarkgray2x));
    this.setBrightness((float) setting.brightness);
    // create highlights object to contains highlights of this book. 
    highlights = new Highlights();
    Bundle bundle = getIntent().getExtras();
    fileName = bundle.getString("BOOKNAME");
    author = bundle.getString("AUTHOR");
    title = bundle.getString("TITLE");
    bookCode = bundle.getInt("BOOKCODE");
    if (pagePositionInBook == -1)
        pagePositionInBook = bundle.getDouble("POSITION");
    themeIndex = setting.theme;
    this.isGlobalPagination = bundle.getBoolean("GLOBALPAGINATION");
    this.isRTL = bundle.getBoolean("RTL");
    this.isVerticalWriting = bundle.getBoolean("VERTICALWRITING");
    this.isDoublePagedForLandscape = bundle.getBoolean("DOUBLEPAGED");
    //      if (this.isRTL) this.isDoublePagedForLandscape = false; // In RTL mode, SDK does not support double paged. 

    ePubView = new RelativeLayout(this);

    RelativeLayout.LayoutParams rlp = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.FILL_PARENT,
            RelativeLayout.LayoutParams.FILL_PARENT);
    ePubView.setLayoutParams(rlp);

    RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
            RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); // width,height
    if (this.getOSVersion() >= 11) {
        rv = new ReflowableControl(this); // in case that device supports transparent webkit, the background image under the content can be shown. in some devices, content may be overlapped.
    } else {
        rv = new ReflowableControl(this, getCurrentTheme().backgroundColor); // in case that device can not support transparent webkit, the background color will be set in one color.
    }

    // if false highlight will be drawed on the back of text - this is default. 
    // for the very old devices of which GPU does not support transparent webView background, set the value to true.  
    rv.setDrawingHighlightOnFront(false);

    // set the bookCode to identify the book file. 
    rv.bookCode = this.bookCode;

    // set bitmaps for engine. 
    rv.setPagesStackImage(this.getBitmap("PagesStack.png"));
    rv.setPagesCenterImage(this.getBitmap("PagesCenter.png"));
    // for epub3 which has page-progression-direction="rtl", rv.isRTL() will return true.
    // for old RTL epub which does not have <spine toc="ncx" page-progression-direction="rtl"> in opf file. 
    // you can enforce RTL mode.  

    /*      
          // delay times for proper operations. 
          // !! DO NOT SET these values if there's no issue on your epub reader. !!
          // !! if delayTime is decresed, performance will be increase
          // !! if delayTime is set to too low value, a lot of problem can be occurred. 
          // bringDelayTime(default 500 ms) is for curlView and mainView transition - if the value is too short, blink may happen.
          rv.setBringDelayTime(500);
          // reloadDelayTime(default 100) is used for delay before reload (eg. changeFont, loadChapter or etc) 
          rv.setReloadDelayTime(100);
          // reloadDelayTimeForRotation(default 1000) is used for delay before rotation
          rv.setReloadDelayTimeForRotation(1000);
          // retotaionDelayTime(default 1500) is used for delay after rotation.
          rv.setRotationDelayTime(1500);
          // finalDelayTime(default 500) is used for the delay after loading chapter. 
          rv.setFinalDelayTime(500);
          // rotationFactor affects the delayTime before Rotation. default value 1.0f
          rv.setRotationFactor(1.0f);      
          // If recalcDelayTime is too short, setContentBackground function failed to work properly.  
          rv.setRecalcDelayTime(2500);
    */

    // set the max width or height for background. 
    rv.setMaxSizeForBackground(1024);
    //      rv.setBaseDirectory(SkySetting.getStorageDirectory() + "/books");
    //      rv.setBookName(fileName);
    // set the file path of epub to open
    // Be sure that the file exists before setting.
    rv.setBookPath(SkySetting.getStorageDirectory() + "/books/" + fileName);
    // if true, double pages will be displayed on landscape mode. 
    rv.setDoublePagedForLandscape(this.isDoublePagedForLandscape);
    // set the initial font style for book. 
    rv.setFont(setting.fontName, this.getRealFontSize(setting.fontSize));
    // set the initial line space for book. 
    rv.setLineSpacing(this.getRealLineSpace(setting.lineSpacing)); // the value is supposed to be percent(%).
    // set the horizontal gap(margin) on both left and right side of each page.  
    rv.setHorizontalGapRatio(0.30);
    // set the vertical gap(margin) on both top and bottom side of each page. 
    rv.setVerticalGapRatio(0.22);
    // set the HighlightListener to handle text highlighting. 
    rv.setHighlightListener(new HighlightDelegate());
    // set the PageMovedListener which is called whenever page is moved. 
    rv.setPageMovedListener(new PageMovedDelegate());
    // set the SelectionListener to handle text selection. 
    rv.setSelectionListener(new SelectionDelegate());
    // set the pagingListener which is called when GlobalPagination is true. this enables the calculation for the total number of pages in book, not in chapter.   
    rv.setPagingListener(new PagingDelegate());
    // set the searchListener to search keyword.
    rv.setSearchListener(new SearchDelegate());
    // set the stateListener to monitor the state of sdk engine. 
    rv.setStateListener(new StateDelegate());
    // set the clickListener which is called when user clicks
    rv.setClickListener(new ClickDelegate());
    // set the bookmarkListener to toggle bookmark
    rv.setBookmarkListener(new BookmarkDelegate());
    // set the scriptListener to set custom javascript. 
    rv.setScriptListener(new ScriptDelegate());

    // enable/disable scroll mode
    rv.setScrollMode(false);

    // for some anroid device, when rendering issues are occurred, use "useSoftwareLayer"
    //      rv.useSoftwareLayer();
    // In search keyword, if true, sdk will return search result with the full information such as position, pageIndex. 
    rv.setFullSearch(true);
    // if true, sdk will return raw text for search result, highlight text or body text without character escaping.  
    rv.setRawTextRequired(false);

    // if true, sdk will read the content of book directry from file system, not via Internal server. 
    //      rv.setDirectRead(true);

    // If you want to make your own provider, please look into EpubProvider.java in Advanced demo.
    //      EpubProvider epubProvider = new EpubProvider();
    //      rv.setContentProvider(epubProvider);      

    // SkyProvider is the default ContentProvider which is presented with SDK. 
    // SkyProvider can read the content of epub file without unzipping. 
    // SkyProvider is also fully integrated with SkyDRM solution.  
    SkyProvider skyProvider = new SkyProvider();
    skyProvider.setKeyListener(new KeyDelegate());
    rv.setContentProvider(skyProvider);

    // set the start positon to open the book. 
    rv.setStartPositionInBook(pagePositionInBook);
    // DO NOT USE BELOW, if true , sdk will use DOM to highlight text.  
    //      rv.useDOMForHighlight(false);
    // if true, globalPagination will be activated. 
    // this enables the calculation of page number based on entire book ,not on each chapter.
    // this globalPagination consumes huge computing power. 
    // AVOID GLOBAL PAGINATION FOR LOW SPEC DEVICES.
    rv.setGlobalPagination(this.isGlobalPagination);
    // set the navigation area on both left and right side to go to the previous or next page when the area is clicked. 
    rv.setNavigationAreaWidthRatio(0.1f); // both left and right side.
    // set the device locked to prevent Rotation. 
    rv.setRotationLocked(setting.lockRotation);
    isRotationLocked = setting.lockRotation;
    // set the mediaOverlayListener for MediaOverlay.
    rv.setMediaOverlayListener(new MediaOverlayDelegate());
    // set the audio playing based on Sequence. 
    rv.setSequenceBasedForMediaOverlay(false);

    params.addRule(RelativeLayout.ALIGN_PARENT_LEFT, RelativeLayout.TRUE);
    params.addRule(RelativeLayout.ALIGN_PARENT_TOP, RelativeLayout.TRUE);
    params.width = LayoutParams.MATCH_PARENT;
    params.height = LayoutParams.MATCH_PARENT;

    rv.setLayoutParams(params);
    this.applyThemeToRV(themeIndex);

    if (this.isFullScreenForNexus && SkyUtility.isNexus() && Build.VERSION.SDK_INT >= 19) {
        rv.setImmersiveMode(true);
    }
    // If you want to get the license key for commercial use, please email us (skytree21@gmail.com). 
    // Without the license key, watermark message will be shown in background. 
    rv.setLicenseKey("a99b-3914-a63b-8ecb");

    // set PageTransition Effect 
    int transitionType = bundle.getInt("transitionType");
    if (transitionType == 0) {
        rv.setPageTransition(PageTransition.None);
    } else if (transitionType == 1) {
        rv.setPageTransition(PageTransition.Slide);
    } else if (transitionType == 2) {
        rv.setPageTransition(PageTransition.Curl);
    }

    // setCurlQuality effects the image quality when tuning page in Curl Transition Mode. 
    // If "Out of Memory" occurs in high resolution devices with big screen, 
    // this value should be decreased like 0.25f or below.
    if (this.getMaxSize() > 1280) {
        rv.setCurlQuality(0.5f);
    }

    // set the color of text selector. 
    rv.setSelectorColor(getCurrentTheme().selectorColor);
    // set the color of text selection area. 
    rv.setSelectionColor(getCurrentTheme().selectionColor);

    // setCustomDrawHighlight & setCustomDrawCaret work only if SDK >= 11
    // if true, sdk will ask you how to draw the highlighted text
    rv.setCustomDrawHighlight(true);
    // if true, sdk will require you to draw the custom selector.
    rv.setCustomDrawCaret(true);

    rv.setFontUnit("px");

    rv.setFingerTractionForSlide(true);
    rv.setVideoListener(new VideoDelegate());

    // make engine not to send any event to iframe
    // if iframe clicked, onIFrameClicked will be fired with source of iframe
    // By Using that source of iframe, you can load the content of iframe in your own webView or another browser. 
    rv.setSendingEventsToIFrameEnabled(false);

    // make engine send any event to video(tag) or not
    // if video tag is clicked, onVideoClicked will be fired with source of iframe
    // By Using that source of video, you can load the content of video in your own media controller or another browser. 
    rv.setSendingEventsToVideoEnabled(true);

    // make engine send any event to video(tag) or not
    // if video tag is clicked, onVideoClicked will be fired with source of iframe
    // By Using that source of video, you can load the content of video in your own media controller or another browser.
    rv.setSendingEventsToAudioEnabled(true);

    // if true, sdk will return the character offset from the chapter beginning , not from element index.
    // then startIndex, endIndex of highlight will be 0 (zero) 
    rv.setGlobalOffset(true);
    // if true, sdk will return the text of each page in the PageInformation object which is passed in onPageMoved event. 
    rv.setExtractText(true);

    ePubView.addView(rv);

    this.makeControls();
    this.makeBoxes();
    this.makeIndicator();
    this.recalcFrames();
    if (this.isRTL) {
        this.seekBar.setReversed(true);
    }
    setContentView(ePubView);
    this.isInitialized = true;
}

From source file:com.saulcintero.moveon.fragments.Summary4.java

private XYMultipleSeriesRenderer getRenderer() {
    XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();

    XYSeriesRenderer r = new XYSeriesRenderer();

    TypedValue outValue1 = new TypedValue();
    TypedValue outValue2 = new TypedValue();
    TypedValue outValue3 = new TypedValue();
    TypedValue outValue4 = new TypedValue();
    mContext.getResources().getValue(R.dimen.xy_chart_text_size_value, outValue1, true);
    mContext.getResources().getValue(R.dimen.xy_labels_text_size_value, outValue2, true);
    mContext.getResources().getValue(R.dimen.xy_axis_title_text_size_value, outValue3, true);
    mContext.getResources().getValue(R.dimen.xy_legend_text_size_value, outValue4, true);
    float xyChartTextSizeValue = outValue1.getFloat();
    float xyLabelsTextSizeValue = outValue1.getFloat();
    float xyAxisTitleTextSizeValue = outValue1.getFloat();
    float xyLegendTextSizeValue = outValue1.getFloat();

    r = new XYSeriesRenderer();
    r.setColor(Color.rgb(255, 124, 0));
    r.setFillPoints(true);//from  www  . java 2 s  .co m
    r.setLineWidth(2.5f);
    r.setDisplayChartValues(true);
    r.setChartValuesTextSize(xyChartTextSizeValue);

    renderer.addSeriesRenderer(r);
    renderer.setAxesColor(Color.WHITE);
    renderer.setLabelsColor(Color.LTGRAY);
    renderer.setBackgroundColor(Color.TRANSPARENT);
    renderer.setTextTypeface("sans_serif", Typeface.BOLD);
    renderer.setLabelsTextSize(xyLabelsTextSizeValue);
    renderer.setAxisTitleTextSize(xyAxisTitleTextSizeValue);
    renderer.setLegendTextSize(xyLegendTextSizeValue);
    renderer.setXTitle(FunctionUtils.capitalizeFirtsLetter(getString(R.string.minutes)));
    renderer.setYTitle(getString(R.string.beats));
    renderer.setXLabels(20);
    renderer.setYLabels(20);
    renderer.setYLabelsAlign(Align.LEFT);
    renderer.setShowGrid(false);
    renderer.setXAxisMin((timeList.get(0) / 60));
    renderer.setXAxisMax((float) ((float) timeList.get(timeList.size() - 1) / 60));
    renderer.setYAxisMin(min_hr);
    renderer.setYAxisMax(max_hr);

    return renderer;
}

From source file:com.example.parkhere.seeker.SeekerProfileVehicleFragment.java

private void selectRow(int index) {
    if (index != selectedIndex) {
        if (selectedIndex >= 0) {
            deselectRow(selectedIndex);/*from  w w w .  jav  a2 s.c  om*/
        }
        TableRow tr = (TableRow) tl.findViewWithTag(index);
        tr.setBackgroundColor(Color.LTGRAY);
        selectedIndex = index;
        TextView tv = (TextView) tr.getChildAt(0);
        selectedMake = tv.getText().toString();
        tv = (TextView) tr.getChildAt(1);
        selectedModel = tv.getText().toString();
        tv = (TextView) tr.getChildAt(2);
        selectedLicensePlate = tv.getText().toString();

        Vehicle v = getVehicle(selectedLicensePlate);
        sprof_make.setText(v.getMake());
        sprof_model.setText(v.getModel());
        sprof_color.setText(v.getColor());
        sprof_year.setText(v.getYear());
        sprof_licenseplate.setText(v.getLicensePlate());
    }
}

From source file:com.saulcintero.moveon.fragments.Statistics.java

private void paintData(int sql_option, int activity) {
    boolean isMetric = FunctionUtils.checkIfUnitsAreMetric(mContext);

    sum_distance = 0;//from   w ww.j  a v a 2s  .co  m
    sum_kcal = 0;
    sum_time = 0;
    sum_up_accum_altitude = 0;
    sum_down_accum_altitude = 0;
    sum_avg_speed = 0;
    sum_steps = 0;
    sum_avg_hr = 0;
    practices_counter = 0;
    hr_practices_counter = 0;

    int[] colors = { Color.rgb(111, 183, 217), Color.rgb(54, 165, 54), Color.rgb(246, 103, 88),
            Color.rgb(234, 206, 74), Color.rgb(246, 164, 83), Color.LTGRAY, Color.rgb(35, 142, 36),
            Color.rgb(0, 129, 125), Color.rgb(0, 0, 220), Color.rgb(255, 255, 0), Color.rgb(255, 215, 0),
            Color.rgb(184, 134, 11), Color.rgb(245, 245, 220), Color.rgb(139, 137, 137), Color.rgb(96, 57, 138),
            Color.rgb(176, 0, 103), Color.rgb(77, 19, 106), Color.rgb(218, 0, 0), Color.rgb(252, 115, 0),
            Color.rgb(243, 42, 0), Color.rgb(255, 202, 44), Color.rgb(176, 214, 7), Color.rgb(255, 235, 44),
            Color.rgb(255, 255, 255), Color.rgb(186, 29, 29), Color.rgb(146, 436, 20), Color.rgb(245, 175, 209),
            Color.rgb(29, 91, 139), Color.rgb(128, 128, 0), Color.rgb(128, 0, 128), Color.rgb(0, 128, 128),
            Color.rgb(246, 233, 207), Color.rgb(231, 56, 142), Color.rgb(173, 141, 193),
            Color.rgb(191, 199, 32), Color.rgb(0, 128, 0), Color.rgb(4, 136, 125), Color.rgb(140, 0, 255),
            Color.rgb(135, 0, 118), Color.rgb(2, 132, 132), Color.rgb(0, 127, 204), Color.rgb(128, 250, 255),
            Color.rgb(192, 192, 192), Color.rgb(207, 94, 97), Color.rgb(137, 189, 199),
            Color.rgb(138, 168, 161), Color.rgb(171, 166, 191), Color.rgb(199, 153, 125) };

    DBManager = null;
    cursor = null;

    distance_distribution = null;
    kcal_distribution = null;
    time_distribution = null;

    DBManager = new DataManager(mContext);
    DBManager.Open();

    cursor = DBManager.CustomQuery(getString(R.string.checking_routes), "SELECT * FROM routes");

    cursor.moveToFirst();
    if (cursor.getCount() > 0) {
        between_dates_query_part = "";

        DatesTypes whichDate = DatesTypes.values()[sql_option];
        switch (whichDate) {
        case ALL_DATES:
            removeCustomDataValues();

            if (activity > 0) {
                cursor = DBManager.CustomQuery(
                        getString(R.string.selecting_all_routes) + " " + getString(R.string.filter_by_activity)
                                + " " + getString(R.string.and) + " " + getString(R.string.group_by_activities),
                        "SELECT category_id, COUNT(*) AS count_practices, SUM(distance) AS sum_distance, "
                                + "SUM(kcal) AS sum_kcal, SUM(time) AS sum_time, SUM(avg_speed) AS sum_avg_speed, "
                                + "SUM(up_accum_altitude) AS sum_up_accum_altitude, "
                                + "SUM(down_accum_altitude) AS sum_down_accum_altitude, "
                                + "SUM(steps) AS sum_steps " + "FROM routes " + "WHERE category_id = '"
                                + activity + "' " + "GROUP BY category_id");
            } else {
                cursor = DBManager.CustomQuery(
                        getString(R.string.selecting_all_routes) + " "
                                + getString(R.string.group_by_activities),
                        "SELECT category_id, COUNT(*) AS count_practices, SUM(distance) AS sum_distance, "
                                + "SUM(kcal) AS sum_kcal, SUM(time) AS sum_time, SUM(avg_speed) AS sum_avg_speed, "
                                + "SUM(up_accum_altitude) AS sum_up_accum_altitude, "
                                + "SUM(down_accum_altitude) AS sum_down_accum_altitude, "
                                + "SUM(steps) AS sum_steps " + "FROM routes GROUP BY category_id");
            }

            break;
        case THIS_YEAR:
            removeCustomDataValues();

            if (activity > 0) {
                cursor = DBManager.CustomQuery(
                        getString(R.string.selecting_this_year_routes) + " "
                                + getString(R.string.filter_by_activity) + " " + getString(R.string.and) + " "
                                + getString(R.string.group_by_activities),
                        "SELECT category_id, COUNT(*) AS count_practices, SUM(distance) AS sum_distance, "
                                + "SUM(kcal) AS sum_kcal, SUM(time) AS sum_time, SUM(avg_speed) AS sum_avg_speed, "
                                + "SUM(up_accum_altitude) AS sum_up_accum_altitude, "
                                + "SUM(down_accum_altitude) AS sum_down_accum_altitude, "
                                + "SUM(steps) AS sum_steps " + "FROM routes " + "WHERE substr(date,7) = '"
                                + Calendar.getInstance().get(Calendar.YEAR) + "' " + "AND category_id = '"
                                + activity + "' " + "GROUP BY category_id");
            } else {
                cursor = DBManager.CustomQuery(
                        getString(R.string.selecting_this_year_routes) + " "
                                + getString(R.string.group_by_activities),
                        "SELECT category_id, COUNT(*) AS count_practices, SUM(distance) AS sum_distance, "
                                + "SUM(kcal) AS sum_kcal, SUM(time) AS sum_time, SUM(avg_speed) AS sum_avg_speed, "
                                + "SUM(up_accum_altitude) AS sum_up_accum_altitude, "
                                + "SUM(down_accum_altitude) AS sum_down_accum_altitude, "
                                + "SUM(steps) AS sum_steps " + "FROM routes " + "WHERE substr(date,7) = '"
                                + Calendar.getInstance().get(Calendar.YEAR) + "' " + "GROUP BY category_id");
            }

            between_dates_query_part = "substr(date,7) = '" + Calendar.getInstance().get(Calendar.YEAR) + "' ";

            break;
        case THIS_MONTH:
            removeCustomDataValues();

            int month = Calendar.getInstance().get(Calendar.MONTH) + 1;
            String sMonth = String.valueOf(month);
            if (month < 10)
                sMonth = "0" + sMonth;

            if (activity > 0) {
                cursor = DBManager.CustomQuery(
                        getString(R.string.selecting_this_month_routes) + " "
                                + getString(R.string.filter_by_activity) + " " + getString(R.string.and) + " "
                                + getString(R.string.group_by_activities),
                        "SELECT category_id, COUNT(*) AS count_practices, SUM(distance) AS sum_distance, "
                                + "SUM(kcal) AS sum_kcal, SUM(time) AS sum_time, SUM(avg_speed) AS sum_avg_speed, "
                                + "SUM(up_accum_altitude) AS sum_up_accum_altitude, "
                                + "SUM(down_accum_altitude) AS sum_down_accum_altitude, "
                                + "SUM(steps) AS sum_steps " + "FROM routes " + "WHERE substr(date,4,2) = '"
                                + sMonth + "' " + "AND substr(date,7) = '"
                                + Calendar.getInstance().get(Calendar.YEAR) + "' " + "AND category_id = '"
                                + activity + "' " + "GROUP BY category_id");
            } else {
                cursor = DBManager.CustomQuery(
                        getString(R.string.selecting_this_month_routes) + " "
                                + getString(R.string.group_by_activities),
                        "SELECT category_id, COUNT(*) AS count_practices, SUM(distance) AS sum_distance, "
                                + "SUM(kcal) AS sum_kcal, SUM(time) AS sum_time, SUM(avg_speed) AS sum_avg_speed, "
                                + "SUM(up_accum_altitude) AS sum_up_accum_altitude, "
                                + "SUM(down_accum_altitude) AS sum_down_accum_altitude, "
                                + "SUM(steps) AS sum_steps " + "FROM routes " + "WHERE substr(date,4,2) = '"
                                + sMonth + "' " + "AND substr(date,7) = '"
                                + Calendar.getInstance().get(Calendar.YEAR) + "' " + "GROUP BY category_id");
            }

            between_dates_query_part = "substr(date,4,2) = '" + sMonth + "' AND substr(date,7) = '"
                    + Calendar.getInstance().get(Calendar.YEAR) + "' ";

            break;
        case THIS_WEAK:
            removeCustomDataValues();

            Calendar c1 = Calendar.getInstance();
            c1.setFirstDayOfWeek(Calendar.MONDAY);
            c1.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);

            int y = c1.get(Calendar.YEAR);
            int m = c1.get(Calendar.MONTH) + 1;
            int d = c1.get(Calendar.DAY_OF_MONTH);

            String sYear1 = String.valueOf(y);
            String sMonth1 = String.valueOf(m);
            if (m < 10)
                sMonth1 = "0" + sMonth1;
            String sDay1 = String.valueOf(d);
            if (d < 10)
                sDay1 = "0" + sDay1;

            c1.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);

            int y2 = c1.get(Calendar.YEAR);
            int m2 = c1.get(Calendar.MONTH) + 1;
            int d2 = c1.get(Calendar.DAY_OF_MONTH);

            String sYear2 = String.valueOf(y2);
            String sMonth2 = String.valueOf(m2);
            if (m2 < 10)
                sMonth2 = "0" + sMonth2;
            String sDay2 = String.valueOf(d2);
            if (d2 < 10)
                sDay2 = "0" + sDay2;

            if (activity > 0) {
                cursor = DBManager.CustomQuery(
                        getString(R.string.selecting_this_weak_routes) + " "
                                + getString(R.string.filter_by_activity) + " " + getString(R.string.and) + " "
                                + getString(R.string.group_by_activities),
                        "SELECT category_id, COUNT(*) AS count_practices, SUM(distance) AS sum_distance, "
                                + "SUM(kcal) AS sum_kcal, SUM(time) AS sum_time, SUM(avg_speed) AS sum_avg_speed, "
                                + "SUM(up_accum_altitude) AS sum_up_accum_altitude, "
                                + "SUM(down_accum_altitude) AS sum_down_accum_altitude, "
                                + "SUM(steps) AS sum_steps " + "FROM routes "
                                + "WHERE substr(date,7)||substr(date,4,2)||substr(date,1,2) " + "BETWEEN '"
                                + sYear1 + sMonth1 + sDay1 + "' AND '" + sYear2 + sMonth2 + sDay2 + "' "
                                + "AND category_id = '" + activity + "' " + "GROUP BY category_id");
            } else {
                cursor = DBManager.CustomQuery(
                        getString(R.string.selecting_this_weak_routes) + " "
                                + getString(R.string.group_by_activities),
                        "SELECT category_id, COUNT(*) AS count_practices, SUM(distance) AS sum_distance, "
                                + "SUM(kcal) AS sum_kcal, SUM(time) AS sum_time, SUM(avg_speed) AS sum_avg_speed, "
                                + "SUM(up_accum_altitude) AS sum_up_accum_altitude, "
                                + "SUM(down_accum_altitude) AS sum_down_accum_altitude, "
                                + "SUM(steps) AS sum_steps " + "FROM routes "
                                + "WHERE substr(date,7)||substr(date,4,2)||substr(date,1,2) " + "BETWEEN '"
                                + sYear1 + sMonth1 + sDay1 + "' AND '" + sYear2 + sMonth2 + sDay2 + "' "
                                + "GROUP BY category_id");
            }

            between_dates_query_part = "substr(date,7)||substr(date,4,2)||substr(date,1,2) " + "BETWEEN '"
                    + sYear1 + sMonth1 + sDay1 + "' AND '" + sYear2 + sMonth2 + sDay2 + "' ";

            break;
        case BETWEEN_TWO_DATES:
            String mYear1 = String.valueOf(year1);
            String mMonth1 = String.valueOf(month1);
            if (month1 < 10)
                mMonth1 = "0" + mMonth1;
            String mDay1 = String.valueOf(day1);
            if (day1 < 10)
                mDay1 = "0" + mDay1;

            String mYear2 = String.valueOf(year2);
            String mMonth2 = String.valueOf(month2);
            if (month2 < 10)
                mMonth2 = "0" + mMonth2;
            String mDay2 = String.valueOf(day2);
            if (day2 < 10)
                mDay2 = "0" + mDay2;

            customDay1 = mDay1;
            customDay2 = mDay2;
            customMonth1 = mMonth1;
            customMonth2 = mMonth2;
            customYear1 = mYear1;
            customYear2 = mYear2;

            if (activity > 0) {
                cursor = DBManager.CustomQuery("Seleccionando las rutas de este mes agrupadas por actividad",
                        "SELECT category_id, COUNT(*) AS count_practices, SUM(distance) AS sum_distance, "
                                + "SUM(kcal) AS sum_kcal, SUM(time) AS sum_time, SUM(avg_speed) AS sum_avg_speed, "
                                + "SUM(up_accum_altitude) AS sum_up_accum_altitude, "
                                + "SUM(down_accum_altitude) AS sum_down_accum_altitude, "
                                + "SUM(steps) AS sum_steps " + "FROM routes "
                                + "WHERE substr(date,7)||substr(date,4,2)||substr(date,1,2) " + "BETWEEN '"
                                + customYear1 + customMonth1 + customDay1 + "' AND '" + customYear2
                                + customMonth2 + customDay2 + "' " + "AND category_id = '" + activity + "' "
                                + "GROUP BY category_id");
            } else {
                cursor = DBManager.CustomQuery("Seleccionando las rutas de este mes agrupadas por actividad",
                        "SELECT category_id, COUNT(*) AS count_practices, SUM(distance) AS sum_distance, "
                                + "SUM(kcal) AS sum_kcal, SUM(time) AS sum_time, SUM(avg_speed) AS sum_avg_speed, "
                                + "SUM(up_accum_altitude) AS sum_up_accum_altitude, "
                                + "SUM(down_accum_altitude) AS sum_down_accum_altitude, "
                                + "SUM(steps) AS sum_steps " + "FROM routes "
                                + "WHERE substr(date,7)||substr(date,4,2)||substr(date,1,2) " + "BETWEEN '"
                                + customYear1 + customMonth1 + customDay1 + "' AND '" + customYear2
                                + customMonth2 + customDay2 + "' " + "GROUP BY category_id");
            }

            between_dates_query_part = "substr(date,7)||substr(date,4,2)||substr(date,1,2) " + "BETWEEN '"
                    + customYear1 + customMonth1 + customDay1 + "' AND '" + customYear2 + customMonth2
                    + customDay2 + "' ";

            break;
        }
        cursor.moveToFirst();

        base_layout.setVisibility(View.VISIBLE);
        scrollView.setVisibility(View.VISIBLE);
        layout1.setVisibility(View.VISIBLE);
        layout2.setVisibility(View.VISIBLE);
        layout3.setVisibility(View.VISIBLE);
        layout4.setVisibility(View.VISIBLE);

        distance_distribution = new float[cursor.getCount()];
        kcal_distribution = new int[cursor.getCount()];
        time_distribution = new int[cursor.getCount()];

        int i = 0;

        mTableLayout.removeAllViews();

        while (!cursor.isAfterLast()) {
            TextView color = new TextView(mContext);
            TextView label = new TextView(mContext);
            TextView value = new TextView(mContext);
            LinearLayout.LayoutParams colorLayoutParams = new LinearLayout.LayoutParams(
                    new LayoutParams(FunctionUtils.calculateDpFromPx(mContext, 20),
                            FunctionUtils.calculateDpFromPx(mContext, 20)));
            colorLayoutParams.setMargins(0, 1, 5, 1);
            color.setLayoutParams(colorLayoutParams);
            label.setLayoutParams(
                    new LayoutParams(FunctionUtils.calculateDpFromPx(mContext, 95), LayoutParams.WRAP_CONTENT));
            label.setTypeface(null, Typeface.BOLD);
            label.setTextColor(Color.parseColor("#b5b5b5"));
            value.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
            value.setTextColor(res.getColor(R.color.white));

            color.setBackgroundColor(colors[i]);

            label.setText(activities[cursor.getInt(cursor.getColumnIndex("category_id")) - 1] + ":");
            value.setText((isMetric
                    ? String.valueOf(cursor.getFloat(cursor.getColumnIndex("sum_distance"))) + " "
                            + getString(R.string.long_unit1_detail_1) + ", "
                    : String.valueOf(FunctionUtils.customizedRound(
                            ((cursor.getFloat(cursor.getColumnIndex("sum_distance")) * 1000f) / 1609f), 2))
                            + " " + getString(R.string.long_unit2_detail_1) + ", ")
                    + String.valueOf((int) cursor.getFloat(cursor.getColumnIndex("sum_kcal"))) + " "
                    + getString(R.string.tell_calories_setting_details) + ", "
                    + String.valueOf(FunctionUtils.statisticsFormatTime(mContext,
                            (long) cursor.getFloat(cursor.getColumnIndex("sum_time")))));

            LinearLayout mLinearLayout = new LinearLayout(mContext);
            mLinearLayout
                    .setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
            mLinearLayout.setOrientation(0);
            mLinearLayout.addView(color);
            mLinearLayout.addView(label);
            mLinearLayout.addView(value);
            mTableLayout.addView(mLinearLayout);

            sum_distance = sum_distance + cursor.getFloat(cursor.getColumnIndex("sum_distance"));
            sum_kcal = sum_kcal + cursor.getInt(cursor.getColumnIndex("sum_kcal"));
            sum_time = sum_time + cursor.getInt(cursor.getColumnIndex("sum_time"));
            sum_up_accum_altitude = sum_up_accum_altitude
                    + cursor.getInt(cursor.getColumnIndex("sum_up_accum_altitude"));
            sum_down_accum_altitude = sum_down_accum_altitude
                    + cursor.getInt(cursor.getColumnIndex("sum_down_accum_altitude"));
            sum_avg_speed = sum_avg_speed + cursor.getFloat(cursor.getColumnIndex("sum_avg_speed"));
            sum_steps = sum_steps + cursor.getInt(cursor.getColumnIndex("sum_steps"));

            distance_distribution[i] = cursor.getFloat(cursor.getColumnIndex("sum_distance"));
            kcal_distribution[i] = cursor.getInt(cursor.getColumnIndex("sum_kcal"));
            time_distribution[i] = cursor.getInt(cursor.getColumnIndex("sum_time"));

            practices_counter = practices_counter
                    + (int) cursor.getFloat(cursor.getColumnIndex("count_practices"));

            i++;

            cursor.moveToNext();
        }

        String activity_query_part = "";
        if (activity > 0)
            activity_query_part = " AND category_id = '" + activity + "'";

        if (between_dates_query_part.length() > 0) {
            cursor = DBManager.CustomQuery(getString(R.string.routes_with_hr),
                    "SELECT avg_hr FROM routes WHERE avg_hr > 0 AND " + between_dates_query_part
                            + activity_query_part);
        } else {
            cursor = DBManager.CustomQuery(getString(R.string.routes_with_hr),
                    "SELECT avg_hr FROM routes WHERE avg_hr > 0" + activity_query_part);
        }
        cursor.moveToFirst();
        if (cursor.getCount() > 0) {
            while (!cursor.isAfterLast()) {
                sum_avg_hr = sum_avg_hr + cursor.getInt(cursor.getColumnIndex("avg_hr"));
                hr_practices_counter += 1;

                cursor.moveToNext();
            }
        }

        text8.setText("");
        if (between_dates_query_part.length() > 0) {
            if (activity > 0)
                activity_query_part = " AND category_id = '" + activity + "' ";

            cursor = DBManager.CustomQuery(getString(R.string.selecting_most_used_shoes),
                    "SELECT shoe_id, COUNT(shoe_id) AS count_shoes " + "FROM routes " + "WHERE "
                            + between_dates_query_part + activity_query_part + "GROUP BY shoe_id "
                            + "ORDER BY count_shoes DESC");
        } else {
            if (activity > 0)
                activity_query_part = "WHERE category_id = '" + activity + "' ";

            cursor = DBManager.CustomQuery(getString(R.string.selecting_most_used_shoes_in_data_range),
                    "SELECT shoe_id, COUNT(shoe_id) AS count_shoes " + "FROM routes " + activity_query_part
                            + "GROUP BY shoe_id " + "ORDER BY count_shoes DESC");
        }
        cursor.moveToFirst();
        if (cursor.getCount() > 0) {
            int shoe = cursor.getInt(cursor.getColumnIndex("shoe_id"));
            if (cursor.getCount() > 1) {
                int[] shoes = new int[cursor.getCount()];
                int m = 0;
                while (!cursor.isAfterLast()) {
                    shoes[m] = cursor.getInt(cursor.getColumnIndex("shoe_id"));
                    m++;
                    cursor.moveToNext();
                }

                if (shoe == 0 && shoes.length > 1)
                    shoe = shoes[1];
            }

            if (shoe > 0) {
                cursor = DBManager.CustomQuery(getString(R.string.shoe_name),
                        "SELECT name FROM shoes WHERE _id = '" + shoe + "'");
                cursor.moveToFirst();
                text8.setText(cursor.getString(cursor.getColumnIndex("name")));
            }

        }

        text1.setText(String.valueOf(practices_counter));
        text2.setText(String.valueOf(FunctionUtils.statisticsFormatTime(mContext, (long) sum_time)));
        text3.setText(isMetric
                ? String.valueOf(FunctionUtils.customizedRound(sum_distance, 2)) + " "
                        + getString(R.string.long_unit1_detail_1)
                : String.valueOf(FunctionUtils.customizedRound(((sum_distance * 1000f) / 1609f), 2)) + " "
                        + getString(R.string.long_unit2_detail_1));
        text4.setText(
                isMetric ? String.valueOf(sum_up_accum_altitude) + " " + getString(R.string.long_unit1_detail_4)
                        : String.valueOf((int) (sum_up_accum_altitude * 1.0936f)) + " "
                                + getString(R.string.long_unit2_detail_4));
        text5.setText(isMetric
                ? String.valueOf(sum_down_accum_altitude) + " " + getString(R.string.long_unit1_detail_4)
                : String.valueOf((int) (sum_down_accum_altitude * 1.0936f)) + " "
                        + getString(R.string.long_unit2_detail_4));
        if ((sum_avg_speed > 0) && (practices_counter > 0)) {
            text6.setText((isMetric
                    ? String.valueOf(FunctionUtils.customizedRound((sum_avg_speed / practices_counter), 2))
                            + " " + getString(R.string.long_unit1_detail_2)
                    : String.valueOf(FunctionUtils
                            .customizedRound((((sum_avg_speed * 1000f) / 1609f) / practices_counter), 2)) + " "
                            + getString(R.string.long_unit2_detail_2)));
        } else {
            text6.setText(
                    getString(R.string.zero_value) + " " + (isMetric ? getString(R.string.long_unit1_detail_2)
                            : mContext.getString(R.string.long_unit2_detail_2)));
        }
        text7.setText(String.valueOf(
                FunctionUtils.calculateRitm(mContext, sum_time, String.valueOf(sum_distance), isMetric, false))
                + " " + (isMetric ? getString(R.string.long_unit1_detail_3)
                        : mContext.getString(R.string.long_unit2_detail_3)));
        text9.setText(String.valueOf(sum_kcal) + " " + getString(R.string.tell_calories_setting_details));
        text10.setText(String.valueOf(sum_steps));
        if ((sum_avg_hr > 0) && (hr_practices_counter > 0)) {
            text11.setText(String.valueOf(sum_avg_hr / hr_practices_counter) + " "
                    + getString(R.string.beats_per_minute));
        } else {
            text11.setText(getString(R.string.zero_value) + " " + getString(R.string.beats_per_minute));
        }
        if (sum_kcal > 0) {
            text12.setText(String.valueOf(sum_kcal / Constants.CHEESE_BURGER));
        } else {
            text12.setText(getString(R.string.zero_value));
        }
        if (sum_distance > 0) {
            text13.setText(String.valueOf(
                    FunctionUtils.customizedRound((sum_distance / Constants.ALL_THE_WAY_AROUND_THE_WORLD), 3)));
        } else {
            text13.setText(getString(R.string.zero_with_three_decimal_places_value));
        }
        if (sum_distance > 0) {
            double moon_distance = ((double) sum_distance) / ((double) Constants.TO_THE_MOON);
            text14.setText(String.valueOf(
                    FunctionUtils.customizedRound(Float.parseFloat(String.valueOf(moon_distance)), 1)));
        } else {
            text14.setText(getString(R.string.zero_with_one_decimal_place_value));
        }

        layout1.removeAllViews();
        layout2.removeAllViews();
        layout3.removeAllViews();

        mChartView1 = null;
        mChartView2 = null;
        mChartView3 = null;

        for (int h = 0; h < distance_distribution.length; h++) {
            float percent = 0;

            if (distance_distribution[h] > 0)
                percent = (distance_distribution[h] * 100) / sum_distance;

            if (sum_distance == 0)
                percent = 100 / distance_distribution.length;

            distance_distribution[h] = percent;
        }

        for (int b = 0; b < kcal_distribution.length; b++) {
            int percent = 0;

            if (sum_kcal > 0)
                percent = (kcal_distribution[b] * 100) / sum_kcal;

            if (sum_kcal == 0)
                percent = 100 / kcal_distribution.length;

            kcal_distribution[b] = percent;
        }

        final CategorySeries distance_distributionSeries = new CategorySeries("");
        for (int g = 0; g < distance_distribution.length; g++) {
            if (distance_distribution.length == 1) {
                distance_distributionSeries.add("", 100);
            } else {
                distance_distributionSeries.add("", distance_distribution[g]);
            }
        }

        final CategorySeries kcal_distributionSeries = new CategorySeries("");
        for (int p = 0; p < kcal_distribution.length; p++) {
            if (kcal_distribution.length == 1) {
                kcal_distributionSeries.add("", 100);
            } else {
                kcal_distributionSeries.add("", kcal_distribution[p]);
            }
        }

        final CategorySeries time_distributionSeries = new CategorySeries("");
        for (int l = 0; l < time_distribution.length; l++) {
            if (time_distribution.length == 1) {
                time_distributionSeries.add("", 100);
            } else {
                time_distributionSeries.add("", time_distribution[l]);
            }
        }

        DefaultRenderer defaultRenderer = new DefaultRenderer();
        DefaultRenderer defaultRenderer2 = new DefaultRenderer();
        DefaultRenderer defaultRenderer3 = new DefaultRenderer();

        defaultRenderer.setShowLabels(false);
        defaultRenderer.setZoomButtonsVisible(false);
        defaultRenderer.setStartAngle(180);
        defaultRenderer.setDisplayValues(false);
        defaultRenderer.setClickEnabled(true);
        defaultRenderer.setInScroll(true);
        defaultRenderer.setShowLegend(false);

        defaultRenderer2.setShowLabels(false);
        defaultRenderer2.setZoomButtonsVisible(false);
        defaultRenderer2.setStartAngle(180);
        defaultRenderer2.setDisplayValues(false);
        defaultRenderer2.setClickEnabled(true);
        defaultRenderer2.setInScroll(true);
        defaultRenderer2.setShowLegend(false);

        defaultRenderer3.setShowLabels(false);
        defaultRenderer3.setZoomButtonsVisible(false);
        defaultRenderer3.setStartAngle(180);
        defaultRenderer3.setDisplayValues(false);
        defaultRenderer3.setClickEnabled(true);
        defaultRenderer3.setInScroll(true);
        defaultRenderer3.setShowLegend(false);

        for (int u = 0; u < distance_distribution.length; u++) {
            SimpleSeriesRenderer seriesRenderer = new SimpleSeriesRenderer();
            seriesRenderer.setColor(colors[u]);
            seriesRenderer.setDisplayChartValues(true);
            seriesRenderer.setHighlighted(false);

            defaultRenderer.addSeriesRenderer(seriesRenderer);
        }

        for (int p = 0; p < kcal_distribution.length; p++) {
            SimpleSeriesRenderer seriesRenderer2 = new SimpleSeriesRenderer();
            seriesRenderer2.setColor(colors[p]);
            seriesRenderer2.setDisplayChartValues(true);
            seriesRenderer2.setHighlighted(false);

            defaultRenderer2.addSeriesRenderer(seriesRenderer2);
        }

        for (int o = 0; o < distance_distribution.length; o++) {
            SimpleSeriesRenderer seriesRenderer3 = new SimpleSeriesRenderer();
            seriesRenderer3.setColor(colors[o]);
            seriesRenderer3.setDisplayChartValues(true);
            seriesRenderer3.setHighlighted(false);

            defaultRenderer3.addSeriesRenderer(seriesRenderer3);
        }

        mChartView1 = ChartFactory.getPieChartView(mContext, distance_distributionSeries, defaultRenderer);
        mChartView2 = ChartFactory.getPieChartView(mContext, kcal_distributionSeries, defaultRenderer2);
        mChartView3 = ChartFactory.getPieChartView(mContext, time_distributionSeries, defaultRenderer3);

        layout1.addView(mChartView1);
        layout2.addView(mChartView2);
        layout3.addView(mChartView3);
    } else {
        base_layout.setVisibility(View.INVISIBLE);
        scrollView.setVisibility(View.INVISIBLE);
        layout1.setVisibility(View.INVISIBLE);
        layout2.setVisibility(View.INVISIBLE);
        layout3.setVisibility(View.INVISIBLE);
        layout4.setVisibility(View.INVISIBLE);
    }
    cursor.close();
    DBManager.Close();
}

From source file:com.egloos.hyunyi.musicinfo.LinkPopUp.java

private void displayArtistInfo(JSONObject j) throws JSONException {
    if (imageLoader == null)
        imageLoader = ImageLoader.getInstance();
    if (!imageLoader.isInited())
        imageLoader.init(config);//from w  w w . ja v a2 s.  c om

    Log.i("musicInfo", "LinkPopUp. displayArtistInfo " + j.toString());

    //JSONObject j_artist_info = j.getJSONObject("artist");

    final String artist_name = j.getString("name");

    tArtistName.setText(artist_name);
    final JSONObject urls = j.optJSONObject("urls");
    final JSONArray videos = j.optJSONArray("video");
    final JSONArray images = j.optJSONArray("images");

    final String msg = artist_name.replaceAll("\\p{Punct}", " ").replaceAll("\\p{Space}", "+");

    AsyncHttpClient client = new AsyncHttpClient();

    String fmURL = "http://ws.audioscrobbler.com/2.0/?method=artist.getinfo&artist=" + msg
            + "&autocorrect[1]&format=json&api_key=ca4c10f9ae187ebb889b33ba12da7ee9";
    Log.i("musicInfo", fmURL);

    client.get(fmURL, new AsyncHttpResponseHandler() {
        @Override
        public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
            String r = new String(responseBody);
            ArrayList<String> image_urls = new ArrayList<String>();

            try {
                Log.i("musicInfo", "Communicating with LastFM...");

                JSONObject json = new JSONObject(r);
                Log.i("musicInfo", json.toString());

                json = json.getJSONObject("artist");
                Log.i("musicInfo", json.toString());

                JSONArray artist_images = json.optJSONArray("image");
                Log.i("musicInfo", artist_images.toString());

                for (int i = 0; i < artist_images.length(); i++) {
                    JSONObject j = artist_images.getJSONObject(i);
                    Log.i("musicInfo", j.optString("size"));
                    if (j.optString("size").contains("extralarge")) {
                        image_urls.add(j.optString("#text"));
                        //b.putString("fm_image", j.getString("#text"));
                        //Log.i("musicInfo", j.getString("#text"));
                        break;
                    }
                }
            } catch (JSONException e) {
                e.printStackTrace();
            }

            if (images != null) {
                for (int i = 0; i < images.length(); i++) {
                    JSONObject image = null;
                    try {
                        image = images.getJSONObject(i);
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                    int width = image.optInt("width", 0);
                    int height = image.optInt("height", 0);
                    String url = image.optString("url", "");
                    Log.i("musicInfo", i + ": " + url);
                    if ((width * height > 10000) && (width * height < 100000)
                            && (!url.contains("userserve-ak"))) {
                        //if ((width>300&&width<100)&&(height>300&&height<1000)&&(!url.contains("userserve-ak"))) {
                        image_urls.add(url);
                        Log.i("musicInfo", "Selected: " + url);
                        //available_images.put(image);
                    }
                }
            }

            int random = (int) (Math.random() * image_urls.size());
            final String f_url = image_urls.get(random);

            Log.i("musicInfo",
                    "Total image#=" + image_urls.size() + " Selected image#=" + random + " " + f_url);

            if (image_urls.size() > 0) {
                imageLoader.displayImage(f_url, ArtistImage, new ImageLoadingListener() {
                    @Override
                    public void onLoadingStarted(String imageUri, View view) {

                    }

                    @Override
                    public void onLoadingFailed(String imageUri, View view, FailReason failReason) {

                    }

                    @Override
                    public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {

                        lLinkList.removeAllViews();
                        //String attr = fImage.optJSONObject("license").optString("attribution");
                        //tAttribution.setText("Credit. " + ((attr == null) || (attr.contains("n/a")) ? "Unknown" : attr));
                        if (urls != null) {
                            String[] jsonName = { "wikipedia_url", "mb_url", "lastfm_url", "official_url",
                                    "twitter_url" };
                            for (int i = 0; i < jsonName.length; i++) {
                                if ((urls.optString(jsonName[i]) != null)
                                        && (urls.optString(jsonName[i]) != "")) {
                                    Log.d("musicinfo", "Link URL: " + urls.optString(jsonName[i]));
                                    TextView tv = new TextView(getApplicationContext());
                                    tv.setTextSize(11);
                                    tv.setPadding(16, 16, 16, 16);
                                    tv.setTextColor(Color.LTGRAY);
                                    tv.setTypeface(Typeface.SANS_SERIF);
                                    tv.setGravity(Gravity.CENTER_VERTICAL);

                                    switch (jsonName[i]) {
                                    case "official_url":
                                        tv.setText("HOME.");
                                        break;
                                    case "wikipedia_url":
                                        tv.setText("WIKI.");
                                        break;
                                    case "mb_url":
                                        tv.setText("Music Brainz.");
                                        break;
                                    case "lastfm_url":
                                        tv.setText("Last FM.");
                                        break;
                                    case "twitter_url":
                                        tv.setText("Twitter.");
                                        break;
                                    }

                                    try {
                                        tv.setTag(urls.getString(jsonName[i]));
                                    } catch (JSONException e) {
                                        e.printStackTrace();
                                    }

                                    tv.setOnClickListener(new View.OnClickListener() {
                                        @Override
                                        public void onClick(View v) {
                                            Intent intent = new Intent();
                                            intent.setAction(Intent.ACTION_VIEW);
                                            intent.addCategory(Intent.CATEGORY_BROWSABLE);
                                            intent.setData(Uri.parse((String) v.getTag()));
                                            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                                            startActivity(intent);
                                            Toast.makeText(getApplicationContext(), "Open the Link...",
                                                    Toast.LENGTH_SHORT).show();
                                            //finish();
                                        }
                                    });
                                    lLinkList.addView(tv);
                                }
                            }
                        } else {
                            TextView tv = new TextView(getApplicationContext());
                            tv.setTextSize(11);
                            tv.setPadding(16, 16, 16, 16);
                            tv.setTextColor(Color.LTGRAY);
                            tv.setTypeface(Typeface.SANS_SERIF);
                            tv.setGravity(Gravity.CENTER_VERTICAL);
                            tv.setText("Sorry, No Link Here...");
                            lLinkList.addView(tv);
                        }

                        if (videos != null) {
                            jVideoArray = videos;
                            mAdapter = new StaggeredViewAdapter(getApplicationContext(),
                                    android.R.layout.simple_list_item_1, generateImageData(videos));
                            //if (mData == null) {
                            mData = generateImageData(videos);
                            //}

                            //mAdapter.clear();

                            for (JSONObject data : mData) {
                                mAdapter.add(data);
                            }
                            mGridView.setAdapter(mAdapter);
                        } else {

                        }

                        adjBottomColor(((ImageView) view).getDrawable());
                    }

                    @Override
                    public void onLoadingCancelled(String imageUri, View view) {

                    }
                });
            } else {
                ArtistImage.setImageResource(R.drawable.lamb_no_image_available);
            }
        }

        @Override
        public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {

        }
    });
}