diff --git a/Paintroid/src/androidTest/java/org/catrobat/paintroid/test/espresso/LayerBackgroundTest.kt b/Paintroid/src/androidTest/java/org/catrobat/paintroid/test/espresso/LayerBackgroundTest.kt
index 7258e16ff0..bfbf53ff64 100644
--- a/Paintroid/src/androidTest/java/org/catrobat/paintroid/test/espresso/LayerBackgroundTest.kt
+++ b/Paintroid/src/androidTest/java/org/catrobat/paintroid/test/espresso/LayerBackgroundTest.kt
@@ -1,40 +1,55 @@
package org.catrobat.paintroid.test.espresso
+import android.content.res.Configuration
import android.graphics.drawable.Drawable
-import android.view.View
import androidx.test.rule.ActivityTestRule
import org.catrobat.paintroid.MainActivity
import org.catrobat.paintroid.contract.LayerContracts
import org.catrobat.paintroid.test.espresso.util.wrappers.LayerMenuViewInteraction
+import org.catrobat.paintroid.ui.LayerAdapter.Companion.getBottomBackground
+import org.catrobat.paintroid.ui.LayerAdapter.Companion.getCenterBackground
+import org.catrobat.paintroid.ui.LayerAdapter.Companion.getSingleBackground
+import org.catrobat.paintroid.ui.LayerAdapter.Companion.getTopBackground
import org.junit.Assert
import org.junit.Before
import org.junit.Rule
import org.junit.Test
-import org.catrobat.paintroid.R
+import org.junit.runner.RunWith
+import org.junit.runners.Parameterized
+import java.util.Locale
-class LayerBackgroundTest {
- @get:Rule
- var launchActivityRule = ActivityTestRule(MainActivity::class.java)
+@RunWith(Parameterized::class)
+class LayerBackgroundTest(private val language: String) {
private lateinit var mainActivity: MainActivity
private lateinit var layerAdapter: LayerContracts.Adapter
- private var singleSelected = "layer_item_single_selected"
- private var topSelected = "layer_item_top_selected"
- private var topUnselected = "layer_item_top_unselected"
- private var bottomSelected = "layer_item_btm_selected"
- private var bottomUnselected = "layer_item_btm_unselected"
+ companion object {
+ private const val ENGLISH = "en"
+ private const val ARABIC = "ar"
+
+ @JvmStatic
+ @Parameterized.Parameters(name = "Language: {0}")
+ fun data() = arrayOf(
+ arrayOf(ARABIC),
+ arrayOf(ENGLISH)
+ )
+ }
+
+ @get:Rule
+ var launchActivityRule = ActivityTestRule(MainActivity::class.java)
@Before
fun setUp() {
mainActivity = launchActivityRule.activity
layerAdapter = mainActivity.layerAdapter
+ setLanguage(language)
}
@Test
fun testOneLayer() {
- var actualBackground = layerAdapter?.getViewHolderAt(0)?.getViewLayout()?.background
- Assert.assertEquals(actualBackground?.constantState, getExpectedBackground(singleSelected))
+ var actualBackground = getActualBackground(0)
+ Assert.assertEquals(actualBackground, getSingleBackground()?.constantState)
}
@Test
@@ -46,8 +61,8 @@ class LayerBackgroundTest {
var backgroundTop = getActualBackground(0)
var backgroundBottom = getActualBackground(1)
- Assert.assertEquals(backgroundTop, getExpectedBackground(topSelected))
- Assert.assertEquals(backgroundBottom, getExpectedBackground(bottomUnselected))
+ Assert.assertEquals(backgroundTop, getTopBackground(true)?.constantState)
+ Assert.assertEquals(backgroundBottom, getBottomBackground(false)?.constantState)
}
@Test
@@ -60,8 +75,8 @@ class LayerBackgroundTest {
var backgroundTop = getActualBackground(0)
var backgroundBottom = getActualBackground(1)
- Assert.assertEquals(backgroundTop, getExpectedBackground(topUnselected))
- Assert.assertEquals(backgroundBottom, getExpectedBackground(bottomSelected))
+ Assert.assertEquals(backgroundTop, getTopBackground(false)?.constantState)
+ Assert.assertEquals(backgroundBottom, getBottomBackground(true)?.constantState)
}
@Test
@@ -75,9 +90,9 @@ class LayerBackgroundTest {
var backgroundCenter = getActualBackground(1)
var backgroundBottom = getActualBackground(2)
- Assert.assertEquals(backgroundTop, getExpectedBackground(topSelected))
- Assert.assertEquals(backgroundCenter, getExpectedBackground(false))
- Assert.assertEquals(backgroundBottom, getExpectedBackground(bottomUnselected))
+ Assert.assertEquals(backgroundTop, getTopBackground(true)?.constantState)
+ Assert.assertEquals(backgroundCenter, getCenterBackground(false)?.constantState)
+ Assert.assertEquals(backgroundBottom, getBottomBackground(false)?.constantState)
}
@Test
@@ -92,9 +107,9 @@ class LayerBackgroundTest {
var backgroundCenter = getActualBackground(1)
var backgroundBottom = getActualBackground(2)
- Assert.assertEquals(backgroundTop, getExpectedBackground(topUnselected))
- Assert.assertEquals(backgroundCenter, getExpectedBackground(true))
- Assert.assertEquals(backgroundBottom, getExpectedBackground(bottomUnselected))
+ Assert.assertEquals(backgroundTop, getTopBackground(false)?.constantState)
+ Assert.assertEquals(backgroundCenter, getCenterBackground(true)?.constantState)
+ Assert.assertEquals(backgroundBottom, getBottomBackground(false)?.constantState)
}
@Test
@@ -110,9 +125,9 @@ class LayerBackgroundTest {
var backgroundCenter = getActualBackground(1)
var backgroundBottom = getActualBackground(2)
- Assert.assertEquals(backgroundTop, getExpectedBackground(topUnselected))
- Assert.assertEquals(backgroundCenter, getExpectedBackground(false))
- Assert.assertEquals(backgroundBottom, getExpectedBackground(bottomSelected))
+ Assert.assertEquals(backgroundTop, getTopBackground(false)?.constantState)
+ Assert.assertEquals(backgroundCenter, getCenterBackground(false)?.constantState)
+ Assert.assertEquals(backgroundBottom, getBottomBackground(true)?.constantState)
}
@Test
@@ -128,10 +143,10 @@ class LayerBackgroundTest {
val backgroundLowerCenter = getActualBackground(2)
val backgroundBottom = getActualBackground(3)
- Assert.assertEquals(backgroundTop, getExpectedBackground(topSelected))
- Assert.assertEquals(backgroundUpperCenter, getExpectedBackground(false))
- Assert.assertEquals(backgroundLowerCenter, getExpectedBackground(false))
- Assert.assertEquals(backgroundBottom, getExpectedBackground(bottomUnselected))
+ Assert.assertEquals(backgroundTop, getTopBackground(true)?.constantState)
+ Assert.assertEquals(backgroundUpperCenter, getCenterBackground(false)?.constantState)
+ Assert.assertEquals(backgroundLowerCenter, getCenterBackground(false)?.constantState)
+ Assert.assertEquals(backgroundBottom, getBottomBackground(false)?.constantState)
}
@Test
@@ -148,10 +163,10 @@ class LayerBackgroundTest {
val backgroundLowerCenter = getActualBackground(2)
val backgroundBottom = getActualBackground(3)
- Assert.assertEquals(backgroundTop, getExpectedBackground(topUnselected))
- Assert.assertEquals(backgroundUpperCenter, getExpectedBackground(true))
- Assert.assertEquals(backgroundLowerCenter, getExpectedBackground(false))
- Assert.assertEquals(backgroundBottom, getExpectedBackground(bottomUnselected))
+ Assert.assertEquals(backgroundTop, getTopBackground(false)?.constantState)
+ Assert.assertEquals(backgroundUpperCenter, getCenterBackground(true)?.constantState)
+ Assert.assertEquals(backgroundLowerCenter, getCenterBackground(false)?.constantState)
+ Assert.assertEquals(backgroundBottom, getBottomBackground(false)?.constantState)
}
@Test
@@ -169,10 +184,10 @@ class LayerBackgroundTest {
val backgroundLowerCenter = getActualBackground(2)
val backgroundBottom = getActualBackground(3)
- Assert.assertEquals(backgroundTop, getExpectedBackground(topUnselected))
- Assert.assertEquals(backgroundUpperCenter, getExpectedBackground(false))
- Assert.assertEquals(backgroundLowerCenter, getExpectedBackground(true))
- Assert.assertEquals(backgroundBottom, getExpectedBackground(bottomUnselected))
+ Assert.assertEquals(backgroundTop, getTopBackground(false)?.constantState)
+ Assert.assertEquals(backgroundUpperCenter, getCenterBackground(false)?.constantState)
+ Assert.assertEquals(backgroundLowerCenter, getCenterBackground(true)?.constantState)
+ Assert.assertEquals(backgroundBottom, getBottomBackground(false)?.constantState)
}
@Test
@@ -190,149 +205,22 @@ class LayerBackgroundTest {
val backgroundLowerCenter = getActualBackground(2)
val backgroundBottom = getActualBackground(3)
- Assert.assertEquals(backgroundTop, getExpectedBackground(topUnselected))
- Assert.assertEquals(backgroundUpperCenter, getExpectedBackground(false))
- Assert.assertEquals(backgroundLowerCenter, getExpectedBackground(false))
- Assert.assertEquals(backgroundBottom, getExpectedBackground(bottomSelected))
- }
-
- @Test
- fun testFiveLayersTopSelected() {
- LayerMenuViewInteraction.onLayerMenuView()
- .performOpen()
- .performAddLayer()
- .performAddLayer()
- .performAddLayer()
- .performAddLayer()
-
- val backgroundTop = getActualBackground(0)
- val backgroundUpperCenter = getActualBackground(1)
- val backgroundCenter = getActualBackground(2)
- val backgroundLowerCenter = getActualBackground(3)
- val backgroundBottom = getActualBackground(4)
-
- Assert.assertEquals(backgroundTop, getExpectedBackground(topSelected))
- Assert.assertEquals(backgroundUpperCenter, getExpectedBackground(false))
- Assert.assertEquals(backgroundCenter, getExpectedBackground(false))
- Assert.assertEquals(backgroundLowerCenter, getExpectedBackground(false))
- Assert.assertEquals(backgroundBottom, getExpectedBackground(bottomUnselected))
- }
-
- @Test
- fun testFiveLayersUpperCenterSelected() {
- LayerMenuViewInteraction.onLayerMenuView()
- .performOpen()
- .performAddLayer()
- .performAddLayer()
- .performAddLayer()
- .performAddLayer()
- .performSelectLayer(1)
-
- val backgroundTop = getActualBackground(0)
- val backgroundUpperCenter = getActualBackground(1)
- val backgroundCenter = getActualBackground(2)
- val backgroundLowerCenter = getActualBackground(3)
- val backgroundBottom = getActualBackground(4)
-
- Assert.assertEquals(backgroundTop, getExpectedBackground(topUnselected))
- Assert.assertEquals(backgroundUpperCenter, getExpectedBackground(true))
- Assert.assertEquals(backgroundCenter, getExpectedBackground(false))
- Assert.assertEquals(backgroundLowerCenter, getExpectedBackground(false))
- Assert.assertEquals(backgroundBottom, getExpectedBackground(bottomUnselected))
- }
-
- @Test
- fun testFiveLayersCenterSelected() {
- LayerMenuViewInteraction.onLayerMenuView()
- .performOpen()
- .performAddLayer()
- .performAddLayer()
- .performAddLayer()
- .performAddLayer()
- .performScrollToPositionInLayerNavigation(2)
- .performSelectLayer(2)
-
- val backgroundTop = getActualBackground(0)
- val backgroundUpperCenter = getActualBackground(1)
- val backgroundCenter = getActualBackground(2)
- val backgroundLowerCenter = getActualBackground(3)
- val backgroundBottom = getActualBackground(4)
-
- Assert.assertEquals(backgroundTop, getExpectedBackground(topUnselected))
- Assert.assertEquals(backgroundUpperCenter, getExpectedBackground(false))
- Assert.assertEquals(backgroundCenter, getExpectedBackground(true))
- Assert.assertEquals(backgroundLowerCenter, getExpectedBackground(false))
- Assert.assertEquals(backgroundBottom, getExpectedBackground(bottomUnselected))
- }
-
- @Test
- fun testFiveLayersLowerCenterSelected() {
- LayerMenuViewInteraction.onLayerMenuView()
- .performOpen()
- .performAddLayer()
- .performAddLayer()
- .performAddLayer()
- .performAddLayer()
- .performScrollToPositionInLayerNavigation(3)
- .performSelectLayer(3)
-
- val backgroundTop = getActualBackground(0)
- val backgroundUpperCenter = getActualBackground(1)
- val backgroundCenter = getActualBackground(2)
- val backgroundLowerCenter = getActualBackground(3)
- val backgroundBottom = getActualBackground(4)
-
- Assert.assertEquals(backgroundTop, getExpectedBackground(topUnselected))
- Assert.assertEquals(backgroundUpperCenter, getExpectedBackground(false))
- Assert.assertEquals(backgroundCenter, getExpectedBackground(false))
- Assert.assertEquals(backgroundLowerCenter, getExpectedBackground(true))
- Assert.assertEquals(backgroundBottom, getExpectedBackground(bottomUnselected))
- }
-
- @Test
- fun testFiveLayersBottomSelected() {
- LayerMenuViewInteraction.onLayerMenuView()
- .performOpen()
- .performAddLayer()
- .performAddLayer()
- .performAddLayer()
- .performAddLayer()
- .performScrollToPositionInLayerNavigation(4)
- .performSelectLayer(4)
-
- val backgroundTop = getActualBackground(0)
- val backgroundUpperCenter = getActualBackground(1)
- val backgroundCenter = getActualBackground(2)
- val backgroundLowerCenter = getActualBackground(3)
- val backgroundBottom = getActualBackground(4)
-
- Assert.assertEquals(backgroundTop, getExpectedBackground(topUnselected))
- Assert.assertEquals(backgroundUpperCenter, getExpectedBackground(false))
- Assert.assertEquals(backgroundCenter, getExpectedBackground(false))
- Assert.assertEquals(backgroundLowerCenter, getExpectedBackground(false))
- Assert.assertEquals(backgroundBottom, getExpectedBackground(bottomSelected))
- }
-
- private fun getExpectedBackground(drawableName: String): Drawable.ConstantState? {
- val isRTL = mainActivity.resources.configuration.layoutDirection == View.LAYOUT_DIRECTION_RTL
- val suffix = if (isRTL) "_rtl" else "_ltr"
- val resourceName = drawableName + suffix
- val id = mainActivity.resources.getIdentifier(resourceName, "drawable", mainActivity.packageName)
- return mainActivity.getDrawable(id)!!.constantState
- }
-
- private fun getExpectedBackground(selected: Boolean): Drawable.ConstantState? {
- val selectedID = R.drawable.layer_item_center_selected
- val unselectedID = R.drawable.layer_item_center_unselected
- return if (selected) {
- mainActivity.getDrawable(selectedID)?.constantState
- } else {
- mainActivity.getDrawable(unselectedID)?.constantState
- }
+ Assert.assertEquals(backgroundTop, getTopBackground(false)?.constantState)
+ Assert.assertEquals(backgroundUpperCenter, getCenterBackground(false)?.constantState)
+ Assert.assertEquals(backgroundLowerCenter, getCenterBackground(false)?.constantState)
+ Assert.assertEquals(backgroundBottom, getBottomBackground(true)?.constantState)
}
private fun getActualBackground(position: Int): Drawable.ConstantState? {
val layout = layerAdapter?.getViewHolderAt(position)?.getViewLayout()
return layout?.background?.constantState
}
+
+ private fun setLanguage(language: String) {
+ val locale = Locale(language)
+ Locale.setDefault(locale)
+ val config: Configuration = mainActivity.resources.configuration
+ config.setLocale(locale)
+ mainActivity.resources.updateConfiguration(config, mainActivity.resources.displayMetrics)
+ }
}
diff --git a/Paintroid/src/main/java/org/catrobat/paintroid/ui/LayerAdapter.kt b/Paintroid/src/main/java/org/catrobat/paintroid/ui/LayerAdapter.kt
index 0df63f9df1..329f9e8f83 100644
--- a/Paintroid/src/main/java/org/catrobat/paintroid/ui/LayerAdapter.kt
+++ b/Paintroid/src/main/java/org/catrobat/paintroid/ui/LayerAdapter.kt
@@ -19,6 +19,8 @@
package org.catrobat.paintroid.ui
import android.graphics.Bitmap
+import android.graphics.drawable.Drawable
+import android.graphics.drawable.GradientDrawable
import android.text.Editable
import android.text.InputFilter
import android.text.TextWatcher
@@ -33,18 +35,20 @@ import android.widget.ImageView
import android.widget.LinearLayout
import android.widget.SeekBar
import androidx.appcompat.widget.AppCompatEditText
+import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.RecyclerView
import kotlinx.coroutines.launch
import kotlinx.coroutines.runBlocking
import org.catrobat.paintroid.MainActivity
import org.catrobat.paintroid.R
import org.catrobat.paintroid.contract.LayerContracts
+import org.catrobat.paintroid.iotasks.OpenRasterFileFormatConversion.mainActivity
import org.catrobat.paintroid.model.MAX_LAYER_OPACITY_PERCENTAGE
import org.catrobat.paintroid.tools.helper.DefaultNumberRangeFilter
private const val MIN_VAL = 0
private const val MAX_VAL = 100
-
+private const val CORNER_RADIUS = 20f
private const val RESIZE_LENGTH = 400f
class LayerAdapter(
@@ -167,26 +171,16 @@ class LayerAdapter(
}
override fun setSelected(isSelected: Boolean) {
- val background = when (getBackgroundType(isSelected)) {
- BackgroundType.TOP_SELECTED -> getDrawableResource("layer_item_top_selected")
- BackgroundType.TOP_UNSELECTED -> getDrawableResource("layer_item_top_unselected")
- BackgroundType.BTM_SELECTED -> getDrawableResource("layer_item_btm_selected")
- BackgroundType.BTM_UNSELECTED -> getDrawableResource("layer_item_btm_unselected")
- BackgroundType.CENTER_SELECTED -> R.drawable.layer_item_center_selected
- BackgroundType.CENTER_UNSELECTED -> R.drawable.layer_item_center_unselected
- BackgroundType.SINGLE_SELECTED -> getDrawableResource("layer_item_single_selected")
+ val background = when (getBackgroundType()) {
+ BackgroundType.SINGLE -> getSingleBackground()
+ BackgroundType.TOP -> getTopBackground(isSelected)
+ BackgroundType.BOTTOM -> getBottomBackground(isSelected)
+ BackgroundType.CENTER -> getCenterBackground(isSelected)
}
- layerBackground.setBackgroundResource(background)
+ layerBackground.background = background
this.isSelected = isSelected
}
- private fun getDrawableResource(drawableName: String): Int {
- val isRTL = mainActivity.resources.configuration.layoutDirection == View.LAYOUT_DIRECTION_RTL
- val suffix = if (isRTL) "_rtl" else "_ltr"
- val resourceName = drawableName + suffix
- return mainActivity.resources.getIdentifier(resourceName, "drawable", mainActivity.packageName)
- }
-
override fun isSelected(): Boolean = isSelected
override fun getViewLayout(): LinearLayout = layerBackground
@@ -220,34 +214,86 @@ class LayerAdapter(
override fun setMergable() = layerBackground.setBackgroundResource(R.color.pocketpaint_color_merge_layer)
- private fun getBackgroundType(isSelected: Boolean): BackgroundType {
+ private fun getBackgroundType(): BackgroundType {
if (presenter.layerCount > 2 && this.adapterPosition > 0 && this.adapterPosition < presenter.layerCount - 1) {
- return if (isSelected) BackgroundType.CENTER_SELECTED else BackgroundType.CENTER_UNSELECTED
+ return BackgroundType.CENTER
}
-
if (presenter.layerCount == 1) {
- return BackgroundType.SINGLE_SELECTED
+ return BackgroundType.SINGLE
}
-
if (this.adapterPosition == presenter.layerCount - 1) {
- return if (isSelected) BackgroundType.BTM_SELECTED else BackgroundType.BTM_UNSELECTED
+ return BackgroundType.BOTTOM
}
-
- return if (isSelected) BackgroundType.TOP_SELECTED else BackgroundType.TOP_UNSELECTED
+ return BackgroundType.TOP
}
}
companion object {
private val TAG = LayerAdapter::class.java.simpleName
+
+ fun getSingleBackground(): Drawable? {
+ var background = ContextCompat.getDrawable(mainActivity, R.drawable.layer_item_single_selected)
+ (background as GradientDrawable).cornerRadii = getRadius(BackgroundType.SINGLE)
+ return background
+ }
+
+ fun getTopBackground(isSelected: Boolean): Drawable? {
+ var background = if (isSelected) {
+ ContextCompat.getDrawable(mainActivity, R.drawable.layer_item_top_selected)
+ } else {
+ ContextCompat.getDrawable(mainActivity, R.drawable.layer_item_top_unselected)
+ }
+ (background as GradientDrawable).cornerRadii = getRadius(BackgroundType.TOP)
+ return background
+ }
+
+ fun getBottomBackground(isSelected: Boolean): Drawable? {
+ var background = if (isSelected) {
+ ContextCompat.getDrawable(mainActivity, R.drawable.layer_item_bottom_selected)
+ } else {
+ ContextCompat.getDrawable(mainActivity, R.drawable.layer_item_bottom_unselected)
+ }
+ (background as GradientDrawable).cornerRadii = getRadius(BackgroundType.BOTTOM)
+ return background
+ }
+
+ fun getCenterBackground(isSelected: Boolean): Drawable? {
+ return if (isSelected) {
+ ContextCompat.getDrawable(mainActivity, R.drawable.layer_item_center_selected)
+ } else {
+ ContextCompat.getDrawable(mainActivity, R.drawable.layer_item_center_unselected)
+ }
+ }
+
+ private fun getRadius(backgroundType: BackgroundType): FloatArray {
+ val isRTL = mainActivity.resources.configuration.layoutDirection == View.LAYOUT_DIRECTION_RTL
+ val cornerRadius = CORNER_RADIUS * mainActivity.resources.displayMetrics.density
+
+ return when (backgroundType) {
+ BackgroundType.TOP -> if (isRTL) {
+ floatArrayOf(0f, 0f, cornerRadius, cornerRadius, 0f, 0f, 0f, 0f)
+ } else {
+ floatArrayOf(cornerRadius, cornerRadius, 0f, 0f, 0f, 0f, 0f, 0f)
+ }
+ BackgroundType.BOTTOM -> if (isRTL) {
+ floatArrayOf(0f, 0f, 0f, 0f, cornerRadius, cornerRadius, 0f, 0f)
+ } else {
+ floatArrayOf(0f, 0f, 0f, 0f, 0f, 0f, cornerRadius, cornerRadius)
+ }
+ BackgroundType.SINGLE -> if (isRTL) {
+ floatArrayOf(0f, 0f, cornerRadius, cornerRadius, cornerRadius, cornerRadius, 0f, 0f)
+ } else {
+ floatArrayOf(cornerRadius, cornerRadius, 0f, 0f, 0f, 0f, cornerRadius, cornerRadius)
+ }
+ else -> floatArrayOf(0f, 0f, 0f, 0f, 0f, 0f, 0f, 0f)
+ }
+ }
}
enum class BackgroundType {
- TOP_SELECTED,
- TOP_UNSELECTED,
- BTM_SELECTED,
- BTM_UNSELECTED,
- CENTER_SELECTED,
- CENTER_UNSELECTED,
- SINGLE_SELECTED
+ TOP,
+ BOTTOM,
+ CENTER,
+ SINGLE
}
}
diff --git a/Paintroid/src/main/res/drawable/rounded_corner_top_left.xml b/Paintroid/src/main/res/drawable/layer_item_bottom_selected.xml
similarity index 80%
rename from Paintroid/src/main/res/drawable/rounded_corner_top_left.xml
rename to Paintroid/src/main/res/drawable/layer_item_bottom_selected.xml
index ad0b9c60dc..07cd7deb00 100644
--- a/Paintroid/src/main/res/drawable/rounded_corner_top_left.xml
+++ b/Paintroid/src/main/res/drawable/layer_item_bottom_selected.xml
@@ -3,6 +3,4 @@
android:shape="rectangle">
-
diff --git a/Paintroid/src/main/res/drawable/layer_item_top_unselected_ltr.xml b/Paintroid/src/main/res/drawable/layer_item_bottom_unselected.xml
similarity index 80%
rename from Paintroid/src/main/res/drawable/layer_item_top_unselected_ltr.xml
rename to Paintroid/src/main/res/drawable/layer_item_bottom_unselected.xml
index 161d0325a8..5ddb3983d1 100644
--- a/Paintroid/src/main/res/drawable/layer_item_top_unselected_ltr.xml
+++ b/Paintroid/src/main/res/drawable/layer_item_bottom_unselected.xml
@@ -3,6 +3,4 @@
android:shape="rectangle">
-
diff --git a/Paintroid/src/main/res/drawable/layer_item_btm_selected_ltr.xml b/Paintroid/src/main/res/drawable/layer_item_btm_selected_ltr.xml
deleted file mode 100644
index 571b79d5e2..0000000000
--- a/Paintroid/src/main/res/drawable/layer_item_btm_selected_ltr.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
diff --git a/Paintroid/src/main/res/drawable/layer_item_btm_selected_rtl.xml b/Paintroid/src/main/res/drawable/layer_item_btm_selected_rtl.xml
deleted file mode 100644
index 847f29cf70..0000000000
--- a/Paintroid/src/main/res/drawable/layer_item_btm_selected_rtl.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
diff --git a/Paintroid/src/main/res/drawable/layer_item_btm_unselected_ltr.xml b/Paintroid/src/main/res/drawable/layer_item_btm_unselected_ltr.xml
deleted file mode 100644
index 8fa80b0b07..0000000000
--- a/Paintroid/src/main/res/drawable/layer_item_btm_unselected_ltr.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
diff --git a/Paintroid/src/main/res/drawable/layer_item_btm_unselected_rtl.xml b/Paintroid/src/main/res/drawable/layer_item_btm_unselected_rtl.xml
deleted file mode 100644
index 83f7f45833..0000000000
--- a/Paintroid/src/main/res/drawable/layer_item_btm_unselected_rtl.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
diff --git a/Paintroid/src/main/res/drawable/layer_item_top_selected_ltr.xml b/Paintroid/src/main/res/drawable/layer_item_single_selected.xml
similarity index 80%
rename from Paintroid/src/main/res/drawable/layer_item_top_selected_ltr.xml
rename to Paintroid/src/main/res/drawable/layer_item_single_selected.xml
index ad0b9c60dc..07cd7deb00 100644
--- a/Paintroid/src/main/res/drawable/layer_item_top_selected_ltr.xml
+++ b/Paintroid/src/main/res/drawable/layer_item_single_selected.xml
@@ -3,6 +3,4 @@
android:shape="rectangle">
-
diff --git a/Paintroid/src/main/res/drawable/layer_item_single_selected_ltr.xml b/Paintroid/src/main/res/drawable/layer_item_single_selected_ltr.xml
deleted file mode 100644
index 1212b2cc28..0000000000
--- a/Paintroid/src/main/res/drawable/layer_item_single_selected_ltr.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
diff --git a/Paintroid/src/main/res/drawable/layer_item_single_selected_rtl.xml b/Paintroid/src/main/res/drawable/layer_item_single_selected_rtl.xml
deleted file mode 100644
index ff18eb215a..0000000000
--- a/Paintroid/src/main/res/drawable/layer_item_single_selected_rtl.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
diff --git a/Paintroid/src/main/res/drawable/layer_item_top_selected_rtl.xml b/Paintroid/src/main/res/drawable/layer_item_top_selected.xml
similarity index 80%
rename from Paintroid/src/main/res/drawable/layer_item_top_selected_rtl.xml
rename to Paintroid/src/main/res/drawable/layer_item_top_selected.xml
index 37651060d3..07cd7deb00 100644
--- a/Paintroid/src/main/res/drawable/layer_item_top_selected_rtl.xml
+++ b/Paintroid/src/main/res/drawable/layer_item_top_selected.xml
@@ -3,6 +3,4 @@
android:shape="rectangle">
-
diff --git a/Paintroid/src/main/res/drawable/layer_item_top_unselected_rtl.xml b/Paintroid/src/main/res/drawable/layer_item_top_unselected.xml
similarity index 80%
rename from Paintroid/src/main/res/drawable/layer_item_top_unselected_rtl.xml
rename to Paintroid/src/main/res/drawable/layer_item_top_unselected.xml
index dc2104f490..5ddb3983d1 100644
--- a/Paintroid/src/main/res/drawable/layer_item_top_unselected_rtl.xml
+++ b/Paintroid/src/main/res/drawable/layer_item_top_unselected.xml
@@ -3,6 +3,4 @@
android:shape="rectangle">
-