Skip to content

Commit 8c43a4f

Browse files
committed
feat: redesign layout for custom space quota in create space dialog
1 parent ae6d7b2 commit 8c43a4f

File tree

3 files changed

+72
-16
lines changed

3 files changed

+72
-16
lines changed

owncloudApp/src/main/java/com/owncloud/android/presentation/spaces/createspace/CreateSpaceDialogFragment.kt

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,14 +56,19 @@ class CreateSpaceDialogFragment : DialogFragment() {
5656
updateUI(errorMessage)
5757
}
5858

59+
createSpaceDialogQuotaSwitch.setOnCheckedChangeListener { _, isChecked ->
60+
createSpaceDialogQuotaNoRestrictionLabel.isVisible = !isChecked
61+
createSpaceDialogQuotaLayout.isVisible = isChecked
62+
createSpaceDialogQuotaGbLabel.isVisible = isChecked
63+
}
64+
5965
if (isEditMode) {
6066
createSpaceDialogTitle.text = getString(R.string.edit_space)
6167
createSpaceDialogQuotaSection.isVisible = canEditQuota
6268

6369
currentSpace?.let {
6470
createSpaceDialogNameValue.setText(it.name)
6571
createSpaceDialogSubtitleValue.setText(it.description)
66-
createSpaceDialogQuotaUnit.setSelection(getQuotaValueForSpinner(it.quota!!.total))
6772
}
6873

6974
createSpaceButton.apply {
@@ -75,7 +80,7 @@ class CreateSpaceDialogFragment : DialogFragment() {
7580
createSpaceButton.setOnClickListener {
7681
val spaceName = createSpaceDialogNameValue.text.toString()
7782
val spaceSubtitle = createSpaceDialogSubtitleValue.text.toString()
78-
val spaceQuota = convertToBytes(createSpaceDialogQuotaUnit.selectedItem.toString())
83+
val spaceQuota = convertToBytes(createSpaceDialogQuotaValue.toString())
7984

8085
if (isEditMode) {
8186
currentSpace?.let {

owncloudApp/src/main/res/layout/create_space_dialog.xml

Lines changed: 63 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -119,33 +119,82 @@
119119

120120
</androidx.constraintlayout.widget.ConstraintLayout>
121121

122-
<LinearLayout
122+
<androidx.constraintlayout.widget.ConstraintLayout
123123
android:id="@+id/create_space_dialog_quota_section"
124124
android:layout_width="match_parent"
125-
android:layout_height="wrap_content"
126-
android:orientation="horizontal"
127-
android:gravity="center_vertical"
128-
android:layout_marginTop="@dimen/standard_half_padding"
129-
android:layout_marginEnd="@dimen/standard_half_padding">
125+
android:layout_height="wrap_content">
130126

131127
<TextView
132128
android:id="@+id/create_space_dialog_quota"
133129
android:layout_width="wrap_content"
134130
android:layout_height="wrap_content"
131+
android:layout_marginTop="@dimen/standard_half_margin"
135132
android:padding="@dimen/standard_padding"
136133
android:text="@string/create_space_dialog_quota"
137134
android:textColor="@color/black"
138-
android:textSize="15sp" />
135+
android:textSize="15sp"
136+
app:layout_constraintTop_toTopOf="parent"
137+
app:layout_constraintStart_toStartOf="parent"/>
139138

140-
<Spinner
141-
android:id="@+id/create_space_dialog_quota_unit"
142-
android:layout_width="0dp"
139+
<com.google.android.material.switchmaterial.SwitchMaterial
140+
android:id="@+id/create_space_dialog_quota_switch"
141+
android:layout_width="wrap_content"
143142
android:layout_height="wrap_content"
144-
android:layout_weight="1"
145-
android:spinnerMode="dropdown"
146-
android:entries="@array/create_space_dialog_quota_units"/>
143+
android:layout_marginTop="@dimen/standard_half_margin"
144+
app:layout_constraintTop_toTopOf="parent"
145+
app:layout_constraintBottom_toBottomOf="parent"
146+
app:layout_constraintStart_toEndOf="@+id/create_space_dialog_quota"/>
147147

148-
</LinearLayout>
148+
<com.google.android.material.textfield.TextInputLayout
149+
android:id="@+id/create_space_dialog_quota_layout"
150+
android:layout_width="75dp"
151+
android:layout_height="wrap_content"
152+
android:layout_marginEnd="@dimen/standard_half_margin"
153+
android:layout_marginStart="@dimen/standard_half_margin"
154+
android:visibility="gone"
155+
app:layout_constraintStart_toEndOf="@id/create_space_dialog_quota_switch"
156+
app:layout_constraintTop_toTopOf="parent">
157+
158+
<com.google.android.material.textfield.TextInputEditText
159+
android:id="@+id/create_space_dialog_quota_value"
160+
android:layout_width="75dp"
161+
android:layout_height="wrap_content"
162+
android:inputType="numberDecimal"
163+
android:textSize="15sp"
164+
android:gravity="end"
165+
app:layout_constraintTop_toTopOf="parent"/>
166+
167+
</com.google.android.material.textfield.TextInputLayout>
168+
169+
<TextView
170+
android:id="@+id/create_space_dialog_quota_gb_label"
171+
android:layout_width="wrap_content"
172+
android:layout_height="match_parent"
173+
android:layout_marginTop="@dimen/standard_half_margin"
174+
android:layout_marginStart="@dimen/standard_half_margin"
175+
android:text="@string/create_space_dialog_gb_unit"
176+
android:textColor="@color/black"
177+
android:textSize="15sp"
178+
android:gravity="center_vertical"
179+
android:visibility="gone"
180+
app:layout_constraintTop_toTopOf="parent"
181+
app:layout_constraintBottom_toBottomOf="parent"
182+
app:layout_constraintStart_toEndOf="@+id/create_space_dialog_quota_layout" />
183+
184+
<TextView
185+
android:id="@+id/create_space_dialog_quota_no_restriction_label"
186+
android:layout_width="wrap_content"
187+
android:layout_height="match_parent"
188+
android:layout_marginStart="@dimen/standard_half_margin"
189+
android:layout_marginTop="@dimen/standard_half_margin"
190+
android:text="@string/create_space_dialog_no_restriction"
191+
android:textColor="@color/black"
192+
android:textSize="15sp"
193+
app:layout_constraintTop_toTopOf="parent"
194+
app:layout_constraintBottom_toBottomOf="parent"
195+
app:layout_constraintStart_toEndOf="@+id/create_space_dialog_quota_switch" />
196+
197+
</androidx.constraintlayout.widget.ConstraintLayout>
149198

150199
<LinearLayout
151200
android:layout_width="match_parent"

owncloudApp/src/main/res/values/strings.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -839,6 +839,8 @@
839839
<string name="create_space_dialog_name">Name</string>
840840
<string name="create_space_dialog_subtitle">Subtitle</string>
841841
<string name="create_space_dialog_quota">Quota</string>
842+
<string name="create_space_dialog_no_restriction">No restriction</string>
843+
<string name="create_space_dialog_gb_unit">GB</string>
842844
<string-array name="create_space_dialog_quota_units">
843845
<item>1 GB</item>
844846
<item>2 GB</item>

0 commit comments

Comments
 (0)