Skip to content

Commit 6fac975

Browse files
committed
Fix button overflow: equal-weight layout; move tag loading to background thread
1 parent 26565f5 commit 6fac975

2 files changed

Lines changed: 32 additions & 9 deletions

File tree

app/src/main/java/com/degard/imagecompressor/MainActivity.kt

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -170,11 +170,22 @@ class MainActivity : AppCompatActivity() {
170170
val images = mutableListOf<GalleryAdapter.ImageEntry>()
171171
var imgIndex = 0
172172
entries.filter { !it.isDirectory }.forEach {
173-
val hasTag = TagManager.hasTag(this, Uri.parse(it.uri))
174-
images.add(GalleryAdapter.ImageEntry(Uri.parse(it.uri), it.name, imgIndex++, hasTag))
173+
images.add(GalleryAdapter.ImageEntry(Uri.parse(it.uri), it.name, imgIndex++, hasTag = false))
175174
}
176175

177176
adapter.submitData(folders, images)
177+
178+
Thread {
179+
val tagMap = mutableMapOf<Int, Boolean>()
180+
for (img in images) {
181+
tagMap[img.index] = TagManager.hasTag(this, img.uri)
182+
}
183+
runOnUiThread {
184+
for ((idx, hasTag) in tagMap) {
185+
adapter.updateHasTag(idx, hasTag)
186+
}
187+
}
188+
}.start()
178189
}
179190

180191
private fun queryChildren(treeUri: Uri, parentDocId: String): List<FolderCache.CachedEntry> {

app/src/main/res/layout/activity_fullscreen.xml

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -49,48 +49,60 @@
4949

5050
<com.google.android.material.button.MaterialButton
5151
android:id="@+id/btnDelete"
52-
android:layout_width="wrap_content"
52+
android:layout_width="0dp"
5353
android:layout_height="40dp"
54+
android:layout_weight="1"
55+
android:layout_marginEnd="4dp"
5456
android:text="@string/delete"
5557
android:textColor="@android:color/white"
58+
android:textSize="11sp"
5659
app:icon="@drawable/ic_delete"
5760
app:iconTint="@android:color/white"
61+
app:iconSize="18dp"
5862
app:backgroundTint="#AAE53935"
5963
style="@style/Widget.Material3.Button" />
6064

6165
<com.google.android.material.button.MaterialButton
6266
android:id="@+id/btnRotate"
63-
android:layout_width="wrap_content"
67+
android:layout_width="0dp"
6468
android:layout_height="40dp"
65-
android:layout_marginStart="8dp"
69+
android:layout_weight="1"
70+
android:layout_marginEnd="4dp"
6671
android:text="@string/rotate"
6772
android:textColor="@android:color/white"
73+
android:textSize="11sp"
6874
app:icon="@drawable/ic_rotate"
6975
app:iconTint="@android:color/white"
76+
app:iconSize="18dp"
7077
app:backgroundTint="#AA455A64"
7178
style="@style/Widget.Material3.Button" />
7279

7380
<com.google.android.material.button.MaterialButton
7481
android:id="@+id/btnShare"
75-
android:layout_width="wrap_content"
82+
android:layout_width="0dp"
7683
android:layout_height="40dp"
77-
android:layout_marginStart="8dp"
84+
android:layout_weight="1"
85+
android:layout_marginEnd="4dp"
7886
android:text="@string/share"
7987
android:textColor="@android:color/white"
88+
android:textSize="11sp"
8089
app:icon="@drawable/ic_share"
8190
app:iconTint="@android:color/white"
91+
app:iconSize="18dp"
8292
app:backgroundTint="#AA33B5E5"
8393
style="@style/Widget.Material3.Button" />
8494

8595
<com.google.android.material.button.MaterialButton
8696
android:id="@+id/btnTag"
87-
android:layout_width="wrap_content"
97+
android:layout_width="0dp"
8898
android:layout_height="40dp"
89-
android:layout_marginStart="8dp"
99+
android:layout_weight="1"
90100
android:text="@string/tag"
91101
android:textColor="@android:color/white"
102+
android:textSize="11sp"
92103
app:icon="@drawable/ic_tag"
93104
app:iconTint="@android:color/white"
105+
app:iconSize="18dp"
94106
app:backgroundTint="#AAFFA000"
95107
style="@style/Widget.Material3.Button" />
96108

0 commit comments

Comments
 (0)