compose: dispenser: Migrate dispensers logic to compose

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
Aayush Gupta
2025-12-10 15:42:39 +08:00
parent 6da40a5d9f
commit e6c1b5446b
16 changed files with 432 additions and 316 deletions

View File

@@ -1,58 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".view.ui.dispenser.DispenserFragment">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:navigationIcon="@drawable/ic_arrow_back"
app:title="@string/pref_dispenser_title" />
<TextView
android:id="@+id/no_dispensers_text_view"
style="@style/AuroraTextStyle.Subtitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/no_dispensers_available"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/toolbar" />
<com.airbnb.epoxy.EpoxyRecyclerView
android:id="@+id/epoxy_recycler"
android:layout_width="match_parent"
android:layout_height="0dp"
android:clipToPadding="false"
android:overScrollMode="never"
android:padding="@dimen/padding_normal"
android:scrollbars="none"
app:itemSpacing="@dimen/margin_small"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/toolbar"
tools:listitem="@layout/view_dispenser" />
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/add_fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="@dimen/margin_large"
android:contentDescription="@string/action_search"
app:backgroundTint="?colorAccent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:srcCompat="@drawable/ic_add"
app:tint="@android:color/white" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -1,31 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?android:selectableItemBackground"
android:orientation="horizontal"
android:padding="@dimen/padding_small">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/url"
style="@style/AuroraTextStyle.Subtitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toStartOf="@id/btn_action"
android:drawableStart="@drawable/ic_server"
android:drawablePadding="@dimen/padding_small"
tools:text="https://auroraoss.com/api/auth" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_action"
style="@style/Widget.Material3.Button.TextButton.Dialog.Flush"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_marginStart="@dimen/margin_small"
android:text="@string/remove" />
</RelativeLayout>

View File

@@ -189,15 +189,6 @@
android:name="com.aurora.store.view.ui.preferences.installation.InstallerFragment"
android:label="InstallerFragment"
tools:layout="@layout/fragment_installer" />
<fragment
android:id="@+id/dispenserFragment"
android:name="com.aurora.store.view.ui.dispenser.DispenserFragment"
android:label="DispenserFragment"
tools:layout="@layout/fragment_dispenser">
<action
android:id="@+id/action_dispenserFragment_to_removeDispenserDialog"
app:destination="@id/removeDispenserDialog" />
</fragment>
<dialog
android:id="@+id/appMenuSheet"
android:name="com.aurora.store.view.ui.sheets.AppMenuSheet"
@@ -216,18 +207,6 @@
android:id="@+id/moreDialogFragment"
android:name="com.aurora.store.view.ui.commons.MoreDialogFragment"
android:label="MoreDialogFragment" />
<dialog
android:id="@+id/inputDispenserDialog"
android:name="com.aurora.store.view.ui.dispenser.InputDispenserDialog"
android:label="@string/add_dispenser_title" />
<dialog
android:id="@+id/removeDispenserDialog"
android:name="com.aurora.store.view.ui.dispenser.RemoveDispenserDialog"
android:label="@string/remove_dispenser_title">
<argument
android:name="url"
app:argType="string" />
</dialog>
<dialog
android:id="@+id/proxyURLDialog"
android:name="com.aurora.store.view.ui.preferences.network.ProxyURLDialog"

View File

@@ -438,7 +438,7 @@
<string name="add_dispenser_summary">Add a token dispenser to Aurora Store. Token dispensers provide account credentials to Aurora Store for logging in anonymously.</string>
<string name="add_dispenser_error">Invalid URL</string>
<string name="add_dispenser_hint">Dispenser URL</string>
<string name="remove_dispenser_title">Remove dispenser</string>
<string name="remove_dispenser_title">Remove dispenser?</string>
<string name="remove_dispenser_summary">Do you wish to remove the dispenser \"<xliff:g id="url">%1$s</xliff:g>\"?</string>
<string name="add">Add</string>
<string name="remove">Remove</string>