diff --git a/CHANGELOG.md b/CHANGELOG.md index 3e268df59117a1b486cb34e7a32f0309625846a1..3dd62f3a55f4ba7c084137de536978c63b8c2643 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ +## 0.0.2-SNAPSHOT + * 修改findBugs ## 0.0.1-SNAPSHOT - ohos第一个版本 * 实现了原库的大部分api diff --git a/README.md b/README.md index 5bc186d35848254bae2c2f6b3151bc752a3766d5..151ddb7bcf245f6140c561700d52b98a95925dc4 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ allprojects { 2.在entry模块的build.gradle文件中, ```gradle dependencies { - implementation('com.gitee.chinasoft_ohos:chips-input-layout:0.0.1-SNAPSHOT') + implementation('com.gitee.chinasoft_ohos:chips-input-layout:0.0.2-SNAPSHOT') ...... } ``` @@ -83,4 +83,4 @@ CloudTest代码测试无异常 #### 版本迭代 -- 0.0.1-SNAPSHOT +- 0.0.2-SNAPSHOT diff --git a/app/src/main/java/com/tylersuehr/chipexample/slice/MainAbilitySlice.java b/app/src/main/java/com/tylersuehr/chipexample/slice/MainAbilitySlice.java index 36451ab146f2752074cc1a8161f4ee9900b96e06..b833df1d2e90301065a3322349ef286786f3cf84 100644 --- a/app/src/main/java/com/tylersuehr/chipexample/slice/MainAbilitySlice.java +++ b/app/src/main/java/com/tylersuehr/chipexample/slice/MainAbilitySlice.java @@ -184,7 +184,7 @@ public class MainAbilitySlice extends AbilitySlice implements Component.ClickedL rootLayout.removeComponent(chipDetailsView); } if (text.getTag() != null) { - chipDetailsView = new ChipDetailsView(getContext(), text.getText(), (Double) text.getTag()); + chipDetailsView = new ChipDetailsView(getContext(), text.getText(), (String) text.getTag()); DirectionalLayout.LayoutConfig config = new DirectionalLayout.LayoutConfig(DirectionalLayout.LayoutConfig.MATCH_PARENT, DirectionalLayout.LayoutConfig.MATCH_PARENT); if (component.getContentPositionX() > getDisplayWidthInPx(this) - 900) { diff --git a/app/src/main/java/com/tylersuehr/chipexample/utils/KeyboardVisibilityEvent.java b/app/src/main/java/com/tylersuehr/chipexample/utils/KeyboardVisibilityEvent.java index 43b19f833d89e64208bc6bd7d5bc1dd294345562..2dc7b29653e5c18fb8280fb415c3a4a626bdfa22 100644 --- a/app/src/main/java/com/tylersuehr/chipexample/utils/KeyboardVisibilityEvent.java +++ b/app/src/main/java/com/tylersuehr/chipexample/utils/KeyboardVisibilityEvent.java @@ -15,7 +15,6 @@ package com.tylersuehr.chipexample.utils; -import ohos.aafwk.ability.LifecycleObserver; import ohos.agp.components.Component; /** @@ -24,16 +23,7 @@ import ohos.agp.components.Component; * @since 2021-06-22 */ public class KeyboardVisibilityEvent { - private Component mRootView; - private LifecycleObserver mLifecycleObserver = null; - private static KeyboardVisibilityEvent keyboardVisibilityEvent; - - public static KeyboardVisibilityEvent getInstance() { - if (keyboardVisibilityEvent == null) { - keyboardVisibilityEvent = new KeyboardVisibilityEvent(); - } - return keyboardVisibilityEvent; - } + public Component mRootView; //获取根界面进行传入 public void setAbilitySliceRoot(Component RootView) { diff --git a/library/build/.transforms/802a2a625928f9b6300cbfc2b8fd9335.bin b/library/build/.transforms/802a2a625928f9b6300cbfc2b8fd9335.bin deleted file mode 100644 index 3a91794a16a4cf824ec4fc6044c8df119efa2cf9..0000000000000000000000000000000000000000 --- a/library/build/.transforms/802a2a625928f9b6300cbfc2b8fd9335.bin +++ /dev/null @@ -1 +0,0 @@ -o/library-debug diff --git a/library/build/.transforms/88995610ef7c49604fd7d2eb38323fdf.bin b/library/build/.transforms/88995610ef7c49604fd7d2eb38323fdf.bin deleted file mode 100644 index 2222d173a929be31d81c8817b07bcf6566a34280..0000000000000000000000000000000000000000 --- a/library/build/.transforms/88995610ef7c49604fd7d2eb38323fdf.bin +++ /dev/null @@ -1 +0,0 @@ -o/library-release diff --git a/library/src/main/java/com/tylersuehr/chips/ChipDetailsView.java b/library/src/main/java/com/tylersuehr/chips/ChipDetailsView.java index 4f4dbd617d97e097fe607792b7026c3f1cb57db1..05cc9e8c232fde5f17686e889a08f03d5e1c3f02 100644 --- a/library/src/main/java/com/tylersuehr/chips/ChipDetailsView.java +++ b/library/src/main/java/com/tylersuehr/chips/ChipDetailsView.java @@ -46,7 +46,7 @@ public class ChipDetailsView extends StackLayout implements ChipComponent { * @param text text * @param tag tag */ - public ChipDetailsView(Context context, String text, Double tag) { + public ChipDetailsView(Context context, String text, String tag) { super(context); Component component = LayoutScatter.getInstance(context).parse(ResourceTable.Layout_chip_view_detailed, null, false); addComponent(component); @@ -62,21 +62,21 @@ public class ChipDetailsView extends StackLayout implements ChipComponent { mTitleView.setText(text); ShapeElement background = new ShapeElement(); background.setCornerRadius(100); - if (0 == tag) { + if ("0".equals(tag)) { background.setRgbColor(new RgbColor(249, 164, 61)); - } else if (1 == tag) { + } else if ("1".equals(tag)) { background.setRgbColor(new RgbColor(241, 99, 101)); - } else if (2 == tag) { + } else if ("2".equals(tag)) { background.setRgbColor(new RgbColor(34, 147, 205)); - } else if (3 == tag) { + } else if ("3".equals(tag)) { background.setRgbColor(new RgbColor(228, 198, 46)); - } else if (4 == tag) { + } else if ("4".equals(tag)) { background.setRgbColor(new RgbColor(173, 98, 167)); - } else if (5 == tag) { + } else if ("5".equals(tag)) { background.setRgbColor(new RgbColor(123, 113, 206)); - } else if (6 == tag) { + } else if ("6".equals(tag)) { background.setRgbColor(new RgbColor(123, 113, 206)); - } else if (7 == tag) { + } else if ("7".equals(tag)) { background.setRgbColor(new RgbColor(123, 113, 19)); } else { background.setRgbColor(new RgbColor(21, 255, 236)); diff --git a/library/src/main/java/com/tylersuehr/chips/ChipOptions.java b/library/src/main/java/com/tylersuehr/chips/ChipOptions.java index c0f695a67aed1c4bd5b55431ac27d02d67c20f90..e012d9fa28cc30b4ad113318184c0154ece53af8 100644 --- a/library/src/main/java/com/tylersuehr/chips/ChipOptions.java +++ b/library/src/main/java/com/tylersuehr/chips/ChipOptions.java @@ -14,28 +14,11 @@ import ohos.app.Context; * @version 1.0 */ final class ChipOptions { - StateElement mTextColorHint; - StateElement mTextColor; - CharSequence mHint; Element mChipDeleteIcon; - StateElement mChipDeleteIconColor; - StateElement mChipBackgroundColor; - StateElement mChipTextColor; boolean mShowAvatar; - boolean mShowDetails; boolean mShowDelete; - StateElement mDetailsChipDeleteIconColor; StateElement mDetailsChipBackgroundColor; StateElement mDetailsChipTextColor; - StateElement mFilterableListBackgroundColor; - StateElement mFilterableListTextColor; - float mFilterableListElevation; - int mTextAppearanceIdRes; - boolean mAllowCustomChips; - boolean mHideKeyboardOnChipClick; - int mMaxRows; - String mDelimiter; - boolean mDelimiterRegex; ChipImageRenderer mImageRenderer; ChipOptions(Context c, AttrSet attrSet, int defStyleAttr) { diff --git a/library/src/main/java/com/tylersuehr/chips/CircleImageView.java b/library/src/main/java/com/tylersuehr/chips/CircleImageView.java index 8a5cb77ad8fa96f403c525ed452bcc83b6891ff1..c63ab97fe3be6928bcdaab2bda7f99299a5fbf86 100644 --- a/library/src/main/java/com/tylersuehr/chips/CircleImageView.java +++ b/library/src/main/java/com/tylersuehr/chips/CircleImageView.java @@ -40,13 +40,13 @@ public class CircleImageView extends Image implements Component.DrawTask { private static final Color DEFAULT_CIRCLE_BACKGROUND_COLOR = Color.TRANSPARENT; - private static final float DEFAULT_IMAGE_ALPHA = 255; + private static final double DEFAULT_IMAGE_ALPHA = 255; - private static final float DEFAULT_VALUE_TWO_FLOAT = 2.0f; + private static final double DEFAULT_VALUE_TWO_FLOAT = 2.0f; - private static final float DEFAULT_VALUE_TWO = 2; + private static final double DEFAULT_VALUE_TWO = 2; - private static final float DEFAULT_VALUE_POINT_FIVE = 0.5f; + private static final double DEFAULT_VALUE_POINT_FIVE = 0.5f; private static final String ATTRIBUTE_BORDER_COLOR = "civ_color"; @@ -82,15 +82,15 @@ public class CircleImageView extends Image implements Component.DrawTask { private Color mCircleBackgroundColor = DEFAULT_CIRCLE_BACKGROUND_COLOR; - private float mImageAlpha = DEFAULT_IMAGE_ALPHA; + private double mImageAlpha = DEFAULT_IMAGE_ALPHA; private PixelMap mPixelMap; private Canvas mPixelMapCanvas; - private float mDrawableRadius; + private double mDrawableRadius; - private float mBorderRadius; + private double mBorderRadius; private ColorMatrix mColorFilter = new ColorMatrix(); @@ -158,7 +158,7 @@ public class CircleImageView extends Image implements Component.DrawTask { mPixelMapPaint.setAntiAlias(true); mPixelMapPaint.setDither(true); mPixelMapPaint.setFilterBitmap(true); - mPixelMapPaint.setAlpha(mImageAlpha); + mPixelMapPaint.setAlpha((float) mImageAlpha); mPixelMapPaint.setColorMatrix(mColorFilter); mBorderPaint.setStyle(Paint.Style.STROKE_STYLE); mBorderPaint.setAntiAlias(true); @@ -179,7 +179,7 @@ public class CircleImageView extends Image implements Component.DrawTask { } if (mCircleBackgroundColor != Color.TRANSPARENT) { - canvas.drawCircle(mDrawableRect.centerX(), mDrawableRect.centerY(), mDrawableRadius, + canvas.drawCircle(mDrawableRect.centerX(), mDrawableRect.centerY(), (float) mDrawableRadius, mCircleBackgroundPaint); } @@ -197,10 +197,10 @@ public class CircleImageView extends Image implements Component.DrawTask { pixelMapShader.setShaderMatrix(mShaderMatrix); mPixelMapPaint.setShader(pixelMapShader, Paint.ShaderType.PIXELMAP_SHADER); } - canvas.drawCircle(mDrawableRect.centerX(), mDrawableRect.centerY(), mDrawableRadius, mPixelMapPaint); + canvas.drawCircle(mDrawableRect.centerX(), mDrawableRect.centerY(), (float) mDrawableRadius, mPixelMapPaint); } if (mBorderWidth > 0) { - canvas.drawCircle(mBorderRect.centerX(), mBorderRect.centerY(), mBorderRadius, mBorderPaint); + canvas.drawCircle(mBorderRect.centerX(), mBorderRect.centerY(), (float) mBorderRadius, mBorderPaint); } } @@ -430,7 +430,7 @@ public class CircleImageView extends Image implements Component.DrawTask { @Override public float getAlpha() { - return mImageAlpha; + return (float) mImageAlpha; } /** @@ -479,7 +479,7 @@ public class CircleImageView extends Image implements Component.DrawTask { initializationOptions.pixelFormat = PIXELMAP_CONFIG; pixelMap = PixelMap.create(initializationOptions); Canvas canvas = new Canvas(); - float radius = (pixelMap.getImageInfo().size.width) / DEFAULT_VALUE_TWO; + float radius = (float) ((pixelMap.getImageInfo().size.width) / DEFAULT_VALUE_TWO); canvas.drawPixelMapHolderCircleShape(new PixelMapHolder(pixelMap), pixelMapRect, 0, 0, radius); return Optional.of(pixelMap); } catch (IllegalArgumentException e) { @@ -490,7 +490,7 @@ public class CircleImageView extends Image implements Component.DrawTask { private void initializePixelMap() { if (mPixelMap != null && mPixelMap.isEditable()) { mPixelMapCanvas = new Canvas(); - float radius = (mPixelMap.getImageInfo().size.width) / DEFAULT_VALUE_TWO; + float radius = (float) ((mPixelMap.getImageInfo().size.width) / DEFAULT_VALUE_TWO); mPixelMapCanvas.drawPixelMapHolderCircleShape(new PixelMapHolder(mPixelMap), pixelMapRect, 0, 0, radius); } else { mPixelMapCanvas = null; @@ -525,8 +525,8 @@ public class CircleImageView extends Image implements Component.DrawTask { int availableWidth = getWidth() - getPaddingLeft() - getPaddingRight(); int availableHeight = getHeight() - getPaddingTop() - getPaddingBottom(); int sideLength = Math.min(availableWidth, availableHeight); - float left = getPaddingLeft() + (availableWidth - sideLength) / DEFAULT_VALUE_TWO_FLOAT; - float top = getPaddingTop() + (availableHeight - sideLength) / DEFAULT_VALUE_TWO_FLOAT; + float left = (float) (getPaddingLeft() + (availableWidth - sideLength) / DEFAULT_VALUE_TWO_FLOAT); + float top = (float) (getPaddingTop() + (availableHeight - sideLength) / DEFAULT_VALUE_TWO_FLOAT); return new RectF(left, top, left + sideLength, top + sideLength); } @@ -545,10 +545,10 @@ public class CircleImageView extends Image implements Component.DrawTask { if (pixelMapWidth * mDrawableRect.height() > mDrawableRect.width() * pixelMapHeight) { scale = mDrawableRect.height() / (float) pixelMapHeight; - dx = (mDrawableRect.width() - pixelMapWidth * scale) * DEFAULT_VALUE_POINT_FIVE; + dx = (float) ((mDrawableRect.width() - pixelMapWidth * scale) * DEFAULT_VALUE_POINT_FIVE); } else { scale = mDrawableRect.width() / (float) pixelMapWidth; - dy = (mDrawableRect.height() - pixelMapHeight * scale) * DEFAULT_VALUE_POINT_FIVE; + dy = (float) ((mDrawableRect.height() - pixelMapHeight * scale) * DEFAULT_VALUE_POINT_FIVE); } mShaderMatrix.setScale(scale, scale); mShaderMatrix.postTranslate((int) (dx + DEFAULT_VALUE_POINT_FIVE) + mDrawableRect.left, diff --git a/library/src/main/java/com/tylersuehr/chips/FlowLayout.java b/library/src/main/java/com/tylersuehr/chips/FlowLayout.java index ad361a9fc5db7cfabbeab9c74d40a15e64a1674a..aa95bdb79278bda45816d512c7af7c7a72096ede 100644 --- a/library/src/main/java/com/tylersuehr/chips/FlowLayout.java +++ b/library/src/main/java/com/tylersuehr/chips/FlowLayout.java @@ -10,6 +10,11 @@ import ohos.app.Context; import java.util.ArrayList; import java.util.List; +/** + * FlowLayout + * + * @since 2021.07.06 + */ public class FlowLayout extends ComponentContainer implements Component.EstimateSizeListener, ComponentContainer.ArrangeListener { private static final String LOG_TAG = FlowLayout.class.getSimpleName(); @@ -38,7 +43,7 @@ public class FlowLayout extends ComponentContainer implements Component.Estimate private static final boolean ISDEFAULT_FLOW = true; private static final int DEFAULT_CHILD_SPACING = 0; private static final int DEFAULT_CHILD_SPACING_FOR_LAST_ROW = SPACING_UNDEFINED; - private static final float DEFAULT_ROW_SPACING = 0; + private static final double DEFAULT_ROW_SPACING = 0; private static final boolean ISDEFAULT_RTL = false; private static final int DEFAULT_MAX_ROWS = Integer.MAX_VALUE; @@ -46,8 +51,8 @@ public class FlowLayout extends ComponentContainer implements Component.Estimate private int mChildSpacing = DEFAULT_CHILD_SPACING; private int mMinChildSpacing = DEFAULT_CHILD_SPACING; private int mChildSpacingForLastRow = DEFAULT_CHILD_SPACING_FOR_LAST_ROW; - private float mRowSpacing = DEFAULT_ROW_SPACING; - private float mAdjustedRowSpacing = DEFAULT_ROW_SPACING; + private double mRowSpacing = DEFAULT_ROW_SPACING; + private double mAdjustedRowSpacing = DEFAULT_ROW_SPACING; private boolean isRtl = ISDEFAULT_RTL; private int mMaxRows = DEFAULT_MAX_ROWS; private int mGravity = UNSPECIFIED_GRAVITY; @@ -65,10 +70,6 @@ public class FlowLayout extends ComponentContainer implements Component.Estimate private int marginBottom = 0; private int marginRight = 0; - public FlowLayout(Context context) { - this(context, null); - } - public FlowLayout(Context context, AttrSet attrs) { super(context, attrs); // 是否是流式布局 flRtl "true" 流式布局,反之将所有子 view 放在一行中 flMaxRows @@ -98,7 +99,7 @@ public class FlowLayout extends ComponentContainer implements Component.Estimate // 行距 if (attrs.getAttr("flRowSpacing").isPresent()) { - this.setRowSpacing(attrs.getAttr("flRowSpacing").get().getFloatValue()); + this.setRowSpacing((double) attrs.getAttr("flRowSpacing").get().getFloatValue()); } // 最后一行的布局样式 @@ -148,7 +149,7 @@ public class FlowLayout extends ComponentContainer implements Component.Estimate final boolean isAllowFlow = widthMode != EstimateSpec.UNCONSTRAINT && isFlow; final int childSpacing = mChildSpacing == SPACING_ALIGN && widthMode == EstimateSpec.UNCONSTRAINT ? 0 : mChildSpacing; - final float tmpSpacing = childSpacing == SPACING_ALIGN ? mMinChildSpacing : childSpacing; + final double tmpSpacing = childSpacing == SPACING_ALIGN ? mMinChildSpacing : childSpacing; for (int i = 0; i < childCount; i++) { Component child = getComponentAt(i); @@ -232,13 +233,13 @@ public class FlowLayout extends ComponentContainer implements Component.Estimate measuredHeight += getPaddingTop() + getPaddingBottom(); int rowNum = Math.min(mHorizontalSpacingForRow.size(), mMaxRows); - float rowSpacing = mRowSpacing == SPACING_ALIGN && heightMode == EstimateSpec.UNCONSTRAINT + double rowSpacing = mRowSpacing == SPACING_ALIGN && heightMode == EstimateSpec.UNCONSTRAINT ? 0 : mRowSpacing; if (rowSpacing == SPACING_ALIGN) { if (rowNum > 1) { mAdjustedRowSpacing = (heightSize - measuredHeight) / (rowNum - 1); } else { - mAdjustedRowSpacing = 0; + mAdjustedRowSpacing =0; } measuredHeight = heightSize; } else { @@ -299,7 +300,7 @@ public class FlowLayout extends ComponentContainer implements Component.Estimate for (int row = 0; row < Math.min(rowCount, mMaxRows); row++) { int childNum = mChildNumForRow.get(row); int rowHeight = mHeightForRow.get(row); - float spacing = mHorizontalSpacingForRow.get(row); + double spacing = mHorizontalSpacingForRow.get(row); for (int i = 0; i < childNum && childIdx < getChildCount(); ) { Component child = getComponentAt(childIdx++); if (child.getVisibility() == HIDE) { @@ -381,25 +382,6 @@ public class FlowLayout extends ComponentContainer implements Component.Estimate return isFlow; } - /** - * Returns the horizontal spacing between child views. - * - * @return The spacing, either {@link FlowLayout#SPACING_AUTO}, or a fixed size in pixels. - */ - public int getChildSpacing() { - return mChildSpacing; - } - - /** - * Sets the horizontal spacing between child views. - * - * @param childSpacing The spacing, either {@link FlowLayout#SPACING_AUTO}, or a fixed size in pixels. - */ - public void setChildSpacing(int childSpacing) { - mChildSpacing = childSpacing; - postLayout(); - } - /** * Returns the horizontal spacing between child views of the last row. * @@ -421,22 +403,13 @@ public class FlowLayout extends ComponentContainer implements Component.Estimate postLayout(); } - /** - * Returns the vertical spacing between rows. - * - * @return The spacing, either {@link FlowLayout#SPACING_AUTO}, or a fixed size in pixels. - */ - public float getRowSpacing() { - return mRowSpacing; - } - /** * Sets the vertical spacing between rows in pixels. Use SPACING_AUTO to evenly place all rows * in vertical. * * @param rowSpacing 行间距 */ - public void setRowSpacing(float rowSpacing) { + public void setRowSpacing(double rowSpacing) { mRowSpacing = rowSpacing; postLayout(); } diff --git a/library/src/main/java/com/tylersuehr/chips/MaxHeightScrollView.java b/library/src/main/java/com/tylersuehr/chips/MaxHeightScrollView.java index bb92581dea0f676b7f8e9453982827c7a3aefd09..65cfb9f4f8427df7fadd877fffb75f0e97adac2f 100644 --- a/library/src/main/java/com/tylersuehr/chips/MaxHeightScrollView.java +++ b/library/src/main/java/com/tylersuehr/chips/MaxHeightScrollView.java @@ -15,24 +15,9 @@ import ohos.app.Context; * @version 1.0 */ public class MaxHeightScrollView extends NestedScrollView implements Component.EstimateSizeListener { - private int mMaxHeight; - - public MaxHeightScrollView(Context context) { - this(context, null); - } - - public MaxHeightScrollView(Context c, AttrSet attrs) { - this(c, attrs, null); - } public MaxHeightScrollView(Context c, AttrSet attrs, String defStyleAttr) { super(c, attrs, defStyleAttr); - this.mMaxHeight = TypedAttrUtils.getInteger(attrs, "MaxHeightScrollView_android_maxHeight", 300); - } - - public void setMaxHeight(int height) { - this.mMaxHeight = height; - invalidate(); } @Override