Android Open Source - smartnavi Color Style






From Project

Back to project page smartnavi.

License

The source code is released under:

Apache License

If you think the Android project smartnavi 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.osmdroid.bonuspack.kml;
//from   w w  w. ja v a 2  s. c o m
import android.graphics.Color;
import android.os.Parcel;
import android.os.Parcelable;

import java.io.IOException;
import java.io.Writer;

/**
 * Handling of KML ColorStyle
 *
 * @author M.Kergall
 */
public class ColorStyle implements Parcelable {
    public static final Parcelable.Creator<ColorStyle> CREATOR = new Parcelable.Creator<ColorStyle>() {
        @Override
        public ColorStyle createFromParcel(Parcel source) {
            return new ColorStyle(source);
        }

        @Override
        public ColorStyle[] newArray(int size) {
            return new ColorStyle[size];
        }
    };
    /**
     * color modes
     */
    static final int MODE_NORMAL = 0, MODE_RANDOM = 1;
    public int mColor;
    public int mColorMode;

    public ColorStyle() {
        this(0);
    }

    ColorStyle(int color) {
        this.mColor = color;
        mColorMode = MODE_NORMAL;
    }

    public ColorStyle(Parcel in) {
        mColor = in.readInt();
        mColorMode = in.readInt();
    }

    /**
     * return color in Android int color format
     */
    public static int parseKMLColor(String sColor) {
        sColor = sColor.trim();
        while (sColor.length() < 8)
            sColor = "0" + sColor;
        String aa = sColor.substring(0, 2);
        String bb = sColor.substring(2, 4);
        String gg = sColor.substring(4, 6);
        String rr = sColor.substring(6, 8);
        sColor = "#" + aa + rr + gg + bb;
        int iColor = 0xFF000000; //default
        try {
            iColor = Color.parseColor(sColor);
        } catch (IllegalArgumentException e) {
            e.printStackTrace();
        }
        return iColor;
    }

    /**
     * return color in KML color format, which is: AABBGGRR, in hexa values
     */
    public static String colorAsKMLString(int aColor) {
        return String.format("%02X%02X%02X%02X", Color.alpha(aColor), Color.blue(aColor), Color.green(aColor), Color.red(aColor));
    }

    /**
     * return color in usual Android color format, which is: #AARRGGBB, in hexa values
     */
    public static String colorAsAndroidString(int aColor) {
        return String.format("#%08X", 0xFFFFFFFF & aColor);
    }

    public String colorAsAndroidString() {
        return colorAsAndroidString(mColor);
    }

    //Parcelable implementation ------------

    /**
     * @return the color to use on an actual object. If color mode is random, generate appropriate random color.
     */
    public int getFinalColor() {
        if (mColorMode == MODE_NORMAL)
            return mColor;
        else { //mode random:
            //generate a random color within the range of each color component:
            int alpha = Color.alpha(mColor);
            double randomRange = Math.random();
            int red = Color.red(mColor);
            red = (int) (red * randomRange);
            int green = Color.green(mColor);
            green = (int) (green * randomRange);
            int blue = Color.blue(mColor);
            blue = (int) (blue * randomRange);
            return Color.argb(alpha, red, green, blue);
        }
    }

    public void writeAsKML(Writer writer) {
        try {
            writer.write("<color>" + colorAsKMLString(mColor) + "</color>\n");
            if (mColorMode == MODE_RANDOM) {
                writer.write("<colorMode>random</colorMode>\n");
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    @Override
    public int describeContents() {
        return 0;
    }

    @Override
    public void writeToParcel(Parcel out, int flags) {
        out.writeInt(mColor);
        out.writeInt(mColorMode);
    }
}




Java Source Code List

com.ilm.sandwich.BackgroundService.java
com.ilm.sandwich.BuildConfig.java
com.ilm.sandwich.Config.java
com.ilm.sandwich.GoogleMapActivity.java
com.ilm.sandwich.Info.java
com.ilm.sandwich.MySupportMapFragment.java
com.ilm.sandwich.OsmMapActivity.java
com.ilm.sandwich.Settings.java
com.ilm.sandwich.StartChooser.java
com.ilm.sandwich.TouchableWrapper.java
com.ilm.sandwich.tools.Core.java
com.ilm.sandwich.tools.HttpRequests.java
com.ilm.sandwich.tools.Locationer.java
com.ilm.sandwich.tools.MapDownload.java
com.ilm.sandwich.tools.MyItemizedOverlay.java
com.ilm.sandwich.tools.PlacesAutoComplete.java
com.ilm.sandwich.tools.PlacesTextSearch.java
com.ilm.sandwich.tools.Statistics.java
com.ilm.sandwich.tools.SuggestionsAdapter.java
org.osmdroid.bonuspack.BuildConfig.java
org.osmdroid.bonuspack.BuildConfig.java
org.osmdroid.bonuspack.cachemanager.CacheManager.java
org.osmdroid.bonuspack.clustering.GridMarkerClusterer.java
org.osmdroid.bonuspack.clustering.MarkerClusterer.java
org.osmdroid.bonuspack.clustering.StaticCluster.java
org.osmdroid.bonuspack.kml.ColorStyle.java
org.osmdroid.bonuspack.kml.IconStyle.java
org.osmdroid.bonuspack.kml.KmlDocument.java
org.osmdroid.bonuspack.kml.KmlFeature.java
org.osmdroid.bonuspack.kml.KmlFolder.java
org.osmdroid.bonuspack.kml.KmlGeometry.java
org.osmdroid.bonuspack.kml.KmlGroundOverlay.java
org.osmdroid.bonuspack.kml.KmlLineString.java
org.osmdroid.bonuspack.kml.KmlMultiGeometry.java
org.osmdroid.bonuspack.kml.KmlPlacemark.java
org.osmdroid.bonuspack.kml.KmlPoint.java
org.osmdroid.bonuspack.kml.KmlPolygon.java
org.osmdroid.bonuspack.kml.LineStyle.java
org.osmdroid.bonuspack.kml.Style.java
org.osmdroid.bonuspack.location.FlickrPOIProvider.java
org.osmdroid.bonuspack.location.GeoNamesPOIProvider.java
org.osmdroid.bonuspack.location.GeocoderGisgraphy.java
org.osmdroid.bonuspack.location.GeocoderNominatimOld.java
org.osmdroid.bonuspack.location.GeocoderNominatim.java
org.osmdroid.bonuspack.location.NominatimPOIProvider.java
org.osmdroid.bonuspack.location.POI.java
org.osmdroid.bonuspack.location.PicasaPOIProvider.java
org.osmdroid.bonuspack.mapsforge.GenericMapView.java
org.osmdroid.bonuspack.mapsforge.MapsForgeTileModuleProvider.java
org.osmdroid.bonuspack.mapsforge.MapsForgeTileProvider.java
org.osmdroid.bonuspack.mapsforge.MapsForgeTileSource.java
org.osmdroid.bonuspack.overlays.DefaultInfoWindow.java
org.osmdroid.bonuspack.overlays.ExtendedOverlayItem.java
org.osmdroid.bonuspack.overlays.FolderOverlay.java
org.osmdroid.bonuspack.overlays.GroundOverlay.java
org.osmdroid.bonuspack.overlays.InfoWindow.java
org.osmdroid.bonuspack.overlays.ItemizedOverlayWithBubble.java
org.osmdroid.bonuspack.overlays.MapEventsOverlay.java
org.osmdroid.bonuspack.overlays.MapEventsReceiver.java
org.osmdroid.bonuspack.overlays.MarkerInfoWindow.java
org.osmdroid.bonuspack.overlays.Marker.java
org.osmdroid.bonuspack.overlays.Polygon.java
org.osmdroid.bonuspack.overlays.Polyline.java
org.osmdroid.bonuspack.routing.GoogleRoadManager.java
org.osmdroid.bonuspack.routing.MapQuestRoadManager.java
org.osmdroid.bonuspack.routing.OSRMRoadManager.java
org.osmdroid.bonuspack.routing.RoadLeg.java
org.osmdroid.bonuspack.routing.RoadManager.java
org.osmdroid.bonuspack.routing.RoadNode.java
org.osmdroid.bonuspack.routing.Road.java
org.osmdroid.bonuspack.utils.BonusPackHelper.java
org.osmdroid.bonuspack.utils.DouglasPeuckerReducer.java
org.osmdroid.bonuspack.utils.HttpConnection.java
org.osmdroid.bonuspack.utils.PolylineEncoder.java
org.osmdroid.bonuspack.utils.WebImageCache.java