Skip to content

Commit

Permalink
refactor: Use a LinearLayout instead of a ConstraintLayout in ActionI…
Browse files Browse the repository at this point in the history
…temView
  • Loading branch information
KevinBoulongne committed Feb 10, 2025
1 parent 2eaff26 commit abb7603
Show file tree
Hide file tree
Showing 2 changed files with 55 additions and 54 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,11 @@ import android.content.res.TypedArray
import android.util.AttributeSet
import android.view.LayoutInflater
import android.widget.FrameLayout
import android.widget.LinearLayout
import androidx.annotation.DrawableRes
import androidx.annotation.StringRes
import androidx.annotation.StyleableRes
import androidx.appcompat.content.res.AppCompatResources
import androidx.constraintlayout.widget.ConstraintLayout
import androidx.core.view.isGone
import androidx.core.view.isVisible
import com.infomaniak.lib.core.utils.getAttributes
Expand Down Expand Up @@ -84,7 +84,7 @@ class ActionItemView @JvmOverloads constructor(
}

override fun setOnClickListener(onClickListener: OnClickListener?) {
findViewById<ConstraintLayout>(R.id.itemBottomSheetAction).setOnClickListener(onClickListener)
findViewById<LinearLayout>(R.id.itemBottomSheetAction).setOnClickListener(onClickListener)
}

fun setIconResource(@DrawableRes iconResourceId: Int) = binding.icon.setImageResource(iconResourceId)
Expand Down
105 changes: 53 additions & 52 deletions app/src/main/res/layout/item_bottom_sheet_action.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,76 +15,77 @@
~ You should have received a copy of the GNU General Public License
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
-->
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/itemBottomSheetAction"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground"
android:clickable="true"
android:focusable="true">
android:focusable="true"
android:orientation="vertical">

<com.google.android.material.divider.MaterialDivider
android:id="@+id/divider"
android:layout_width="0dp"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginHorizontal="@dimen/marginStandardMedium"
android:layout_marginVertical="0dp"
app:dividerColor="@color/dividerColor"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
app:dividerColor="@color/dividerColor" />

<ImageView
android:id="@+id/icon"
android:layout_width="@dimen/standardIconSize"
android:layout_height="@dimen/standardIconSize"
android:layout_marginVertical="@dimen/marginStandardMedium"
android:layout_marginStart="@dimen/marginStandardMedium"
android:contentDescription="@string/contentDescriptionSchedule"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:tint="?attr/colorPrimary"
tools:src="@drawable/ic_afternoon_schedule" />

<TextView
android:id="@+id/title"
style="@style/BodySmall"
android:layout_width="wrap_content"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/marginStandardMedium"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/icon"
app:layout_constraintTop_toTopOf="parent"
tools:text="@string/restoreEmailsTitle" />
android:orientation="horizontal"
android:paddingHorizontal="@dimen/marginStandardMedium">

<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent">
<ImageView
android:id="@+id/icon"
android:layout_width="@dimen/standardIconSize"
android:layout_height="@dimen/standardIconSize"
android:layout_gravity="center_vertical"
android:layout_marginVertical="@dimen/marginStandardMedium"
android:contentDescription="@string/contentDescriptionSchedule"
app:tint="?attr/colorPrimary"
tools:src="@drawable/ic_afternoon_schedule" />

<TextView
android:id="@+id/description"
style="@style/BodySmall.Secondary"
android:id="@+id/title"
style="@style/BodySmall"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="@dimen/marginStandardMedium"
android:layout_weight="1"
android:ellipsize="end"
android:maxLines="2"
tools:text="@string/restoreEmailsTitle" />

<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/marginStandardMedium"
android:visibility="gone"
tools:text="@string/restoreEmailsNoBackup"
tools:visibility="visible" />
android:layout_gravity="center_vertical"
android:layout_marginStart="@dimen/marginStandardMedium">

<ImageView
android:id="@+id/actionIcon"
style="@style/BodySmall.Secondary"
android:layout_width="@dimen/smallIconSize"
android:layout_height="@dimen/smallIconSize"
android:layout_marginEnd="@dimen/marginStandardMedium"
android:contentDescription="@string/contentDescriptionActionIcon"
android:visibility="gone"
tools:src="@drawable/ic_chevron_right" />
</FrameLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<TextView
android:id="@+id/description"
style="@style/BodySmall.Secondary"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
tools:text="@string/restoreEmailsNoBackup"
tools:visibility="visible" />

<ImageView
android:id="@+id/actionIcon"
style="@style/BodySmall.Secondary"
android:layout_width="@dimen/smallIconSize"
android:layout_height="@dimen/smallIconSize"
android:contentDescription="@string/contentDescriptionActionIcon"
android:visibility="gone"
tools:src="@drawable/ic_chevron_right" />
</FrameLayout>
</LinearLayout>

</LinearLayout>

0 comments on commit abb7603

Please sign in to comment.