summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/BubbleLayout.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/BubbleLayout.java')
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/BubbleLayout.java350
1 files changed, 0 insertions, 350 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/BubbleLayout.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/BubbleLayout.java
deleted file mode 100644
index f4a1484f8a..0000000000
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/BubbleLayout.java
+++ /dev/null
@@ -1,350 +0,0 @@
-package com.mapbox.mapboxsdk.annotations;
-
-import android.content.Context;
-import android.content.res.TypedArray;
-import android.graphics.Canvas;
-import android.graphics.Color;
-import android.graphics.RectF;
-import android.support.annotation.NonNull;
-import android.util.AttributeSet;
-import android.util.DisplayMetrics;
-import android.widget.LinearLayout;
-
-import com.mapbox.mapboxsdk.R;
-
-/**
- * Bubble View for Android with custom stroke width and color, arrow size, position and direction.
- * @deprecated As of 7.0.0,
- * use <a href="https://github.com/mapbox/mapbox-plugins-android/tree/master/plugin-annotation">
- * Mapbox Annotation Plugin</a> instead
- */
-@Deprecated
-public class BubbleLayout extends LinearLayout {
-
- public static final float DEFAULT_STROKE_WIDTH = -1;
- private ArrowDirection arrowDirection;
- private float arrowWidth;
- private float arrowHeight;
- private float arrowPosition;
- private float cornersRadius;
- private Bubble bubble;
- private int bubbleColor;
- private float strokeWidth;
- private int strokeColor;
-
- /**
- * Creates an instance of bubble layout.
- *
- * @param context The context used to inflate this bubble layout
- */
- public BubbleLayout(@NonNull Context context) {
- this(context, null, 0);
- }
-
- /**
- * Creates an instance of bubble layout.
- *
- * @param context The context used to inflate this bubble layout
- * @param attrs The attribute set to initialise this bubble layout from
- */
- public BubbleLayout(@NonNull Context context, AttributeSet attrs) {
- this(context, attrs, 0);
- }
-
- /**
- * Creates an instance of bubble layout.
- *
- * @param context The context used to inflate this bubble layout
- * @param attrs The attribute set to initialise this bubble layout from
- * @param defStyleAttr The default style to apply this bubble layout with
- */
- public BubbleLayout(@NonNull Context context, AttributeSet attrs, int defStyleAttr) {
- super(context, attrs, defStyleAttr);
-
- TypedArray a = getContext().obtainStyledAttributes(attrs, R.styleable.mapbox_BubbleLayout);
- @ArrowDirection.Value
- int location = a.getInt(R.styleable.mapbox_BubbleLayout_mapbox_bl_arrowDirection,
- ArrowDirection.LEFT);
- arrowDirection = new ArrowDirection(location);
- arrowWidth = a.getDimension(R.styleable.mapbox_BubbleLayout_mapbox_bl_arrowWidth,
- convertDpToPixel(8, context));
- arrowHeight = a.getDimension(R.styleable.mapbox_BubbleLayout_mapbox_bl_arrowHeight,
- convertDpToPixel(8, context));
- arrowPosition = a.getDimension(R.styleable.mapbox_BubbleLayout_mapbox_bl_arrowPosition,
- convertDpToPixel(12, context));
- cornersRadius = a.getDimension(R.styleable.mapbox_BubbleLayout_mapbox_bl_cornersRadius, 0);
- bubbleColor = a.getColor(R.styleable.mapbox_BubbleLayout_mapbox_bl_bubbleColor, Color.WHITE);
- strokeWidth =
- a.getDimension(R.styleable.mapbox_BubbleLayout_mapbox_bl_strokeWidth, DEFAULT_STROKE_WIDTH);
- strokeColor = a.getColor(R.styleable.mapbox_BubbleLayout_mapbox_bl_strokeColor, Color.GRAY);
-
- a.recycle();
- initPadding();
- }
-
- @Override
- protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
- super.onLayout(changed, left, top, right, bottom);
- initDrawable(0, getWidth(), 0, getHeight());
- }
-
- @Override
- protected void dispatchDraw(@NonNull Canvas canvas) {
- if (bubble != null) {
- bubble.draw(canvas);
- }
- super.dispatchDraw(canvas);
- }
-
- static float convertDpToPixel(float dp, Context context) {
- DisplayMetrics metrics = context.getResources().getDisplayMetrics();
- return dp * (metrics.densityDpi / DisplayMetrics.DENSITY_DEFAULT);
- }
-
- /**
- * Get the arrow direction.
- *
- * @return the arrow direction
- */
- public ArrowDirection getArrowDirection() {
- return arrowDirection;
- }
-
- /**
- * Set the arrow direction.
- *
- * @param arrowDirection The direction of the arrow
- * @return this
- */
- @NonNull
- public BubbleLayout setArrowDirection(ArrowDirection arrowDirection) {
- resetPadding();
- this.arrowDirection = arrowDirection;
- initPadding();
- return this;
- }
-
- /**
- * Get the arrow width.
- *
- * @return the width of the arrow
- */
- public float getArrowWidth() {
- return arrowWidth;
- }
-
- /**
- * Set the arrow width.
- *
- * @param arrowWidth The width of the arrow
- * @return this
- */
- @NonNull
- public BubbleLayout setArrowWidth(float arrowWidth) {
- resetPadding();
- this.arrowWidth = arrowWidth;
- initPadding();
- return this;
- }
-
- /**
- * Get the arrow height
- *
- * @return the height of the arrow
- */
- public float getArrowHeight() {
- return arrowHeight;
- }
-
- /**
- * Set the arrow height.
- *
- * @param arrowHeight The height of the arrow
- * @return this
- */
- @NonNull
- public BubbleLayout setArrowHeight(float arrowHeight) {
- resetPadding();
- this.arrowHeight = arrowHeight;
- initPadding();
- return this;
- }
-
- /**
- * Get the arrow position.
- *
- * @return the arrow position
- */
- public float getArrowPosition() {
- return arrowPosition;
- }
-
- /**
- * Get the arrow position.
- *
- * @param arrowPosition The arrow position
- * @return this
- */
- @NonNull
- public BubbleLayout setArrowPosition(float arrowPosition) {
- resetPadding();
- this.arrowPosition = arrowPosition;
- initPadding();
- return this;
- }
-
- /**
- * Get the corner radius
- *
- * @return the corner radius
- */
- public float getCornersRadius() {
- return cornersRadius;
- }
-
- /**
- * Set the corner radius
- *
- * @param cornersRadius The corner radius
- * @return this
- */
- @NonNull
- public BubbleLayout setCornersRadius(float cornersRadius) {
- this.cornersRadius = cornersRadius;
- requestLayout();
- return this;
- }
-
- /**
- * Get the bubble color.
- *
- * @return the bubble color
- */
- public int getBubbleColor() {
- return bubbleColor;
- }
-
- /**
- * Set the bubble color.
- *
- * @param bubbleColor The buble color
- * @return this
- */
- @NonNull
- public BubbleLayout setBubbleColor(int bubbleColor) {
- this.bubbleColor = bubbleColor;
- requestLayout();
- return this;
- }
-
- /**
- * Get stroke width.
- *
- * @return the stroke width
- */
- public float getStrokeWidth() {
- return strokeWidth;
- }
-
- /**
- * Set the stroke width.
- *
- * @param strokeWidth The stroke width
- * @return this
- */
- @NonNull
- public BubbleLayout setStrokeWidth(float strokeWidth) {
- resetPadding();
- this.strokeWidth = strokeWidth;
- initPadding();
- return this;
- }
-
- /**
- * Get the stroke color.
- *
- * @return the stroke color
- */
- public int getStrokeColor() {
- return strokeColor;
- }
-
- /**
- * Set the stroke color.
- *
- * @param strokeColor The stroke color
- * @return this
- */
- @NonNull
- public BubbleLayout setStrokeColor(int strokeColor) {
- this.strokeColor = strokeColor;
- requestLayout();
- return this;
- }
-
- private void initPadding() {
- int paddingLeft = getPaddingLeft();
- int paddingRight = getPaddingRight();
- int paddingTop = getPaddingTop();
- int paddingBottom = getPaddingBottom();
- switch (arrowDirection.getValue()) {
- case ArrowDirection.LEFT:
- paddingLeft += arrowWidth;
- break;
- case ArrowDirection.RIGHT:
- paddingRight += arrowWidth;
- break;
- case ArrowDirection.TOP:
- paddingTop += arrowHeight;
- break;
- case ArrowDirection.BOTTOM:
- paddingBottom += arrowHeight;
- break;
- }
- if (strokeWidth > 0) {
- paddingLeft += strokeWidth;
- paddingRight += strokeWidth;
- paddingTop += strokeWidth;
- paddingBottom += strokeWidth;
- }
- setPadding(paddingLeft, paddingTop, paddingRight, paddingBottom);
- }
-
- private void initDrawable(int left, int right, int top, int bottom) {
- if (right < left || bottom < top) {
- return;
- }
-
- RectF rectF = new RectF(left, top, right, bottom);
- bubble = new Bubble(rectF, arrowDirection, arrowWidth, arrowHeight, arrowPosition, cornersRadius,
- bubbleColor, strokeWidth, strokeColor);
- }
-
- private void resetPadding() {
- int paddingLeft = getPaddingLeft();
- int paddingRight = getPaddingRight();
- int paddingTop = getPaddingTop();
- int paddingBottom = getPaddingBottom();
- switch (arrowDirection.getValue()) {
- case ArrowDirection.LEFT:
- paddingLeft -= arrowWidth;
- break;
- case ArrowDirection.RIGHT:
- paddingRight -= arrowWidth;
- break;
- case ArrowDirection.TOP:
- paddingTop -= arrowHeight;
- break;
- case ArrowDirection.BOTTOM:
- paddingBottom -= arrowHeight;
- break;
- }
- if (strokeWidth > 0) {
- paddingLeft -= strokeWidth;
- paddingRight -= strokeWidth;
- paddingTop -= strokeWidth;
- paddingBottom -= strokeWidth;
- }
- setPadding(paddingLeft, paddingTop, paddingRight, paddingBottom);
- }
-}