Skip to content

Commit 5efdbbf

Browse files
committed
change: deselect APKs items on back in selection mode
1 parent 2b40f35 commit 5efdbbf

File tree

4 files changed

+47
-15
lines changed

4 files changed

+47
-15
lines changed

app/src/main/assets/html/changelogs.html

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,11 @@ <h1>Change Logs</h1>
1717
<sub>(Current Version)</sub>
1818
<h2>Build106.1.0</h2>
1919

20+
<h4>Changes</h4>
2021

22+
<ul>
23+
<li>APKs panel in selection mode should deselect all items first when back is pressed.</li>
24+
</ul>
2125

2226
<br/>
2327

app/src/main/java/app/simple/inure/adapters/ui/AdapterApks.kt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,17 @@ class AdapterApks(var paths: ArrayList<ApkFile> = arrayListOf(),
178178
this.adapterCallbacks = adapterCallbacks
179179
}
180180

181+
fun removeSelections() {
182+
for (i in paths.indices) {
183+
if (paths[i].isSelected) {
184+
paths[i].isSelected = false
185+
notifyItemChanged(i + 1)
186+
}
187+
}
188+
189+
isSelectionMode = false
190+
}
191+
181192
inner class Holder(itemView: View) : VerticalListViewHolder(itemView) {
182193
val icon: AppIconImageView = itemView.findViewById(R.id.app_icon)
183194
val name: TypeFaceTextView = itemView.findViewById(R.id.name)

app/src/main/java/app/simple/inure/extensions/fragments/ScopedFragment.kt

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -545,23 +545,27 @@ abstract class ScopedFragment : Fragment(), SharedPreferences.OnSharedPreference
545545
open fun setupBackPressedDispatcher() {
546546
if (parentFragmentManager.backStackEntryCount > 0) { // Make sure we have fragments in backstack
547547
requireActivity().onBackPressedDispatcher.addCallback(this) {
548-
Log.d(tag ?: TAG, "onBackPressed")
549-
try {
550-
parentFragmentManager.popBackStackImmediate()
551-
} catch (e: IllegalStateException) {
552-
Log.e(TAG, "setupBackPressedDispatcher: ", e)
553-
}
548+
onBackPressed()
549+
}
550+
}
551+
}
554552

555-
try {
556-
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
557-
requireView().clearViewTranslationCallback()
558-
}
559-
requireView().clearAnimation()
560-
Log.i(TAG, "setupBackPressedDispatcher: Animations cleared")
561-
} catch (e: IllegalStateException) {
562-
Log.e(TAG, "setupBackPressedDispatcher: ", e)
563-
}
553+
open fun onBackPressed() {
554+
Log.d(tag ?: TAG, "onBackPressed")
555+
try {
556+
parentFragmentManager.popBackStackImmediate()
557+
} catch (e: IllegalStateException) {
558+
Log.e(TAG, "setupBackPressedDispatcher: ", e)
559+
}
560+
561+
try {
562+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
563+
requireView().clearViewTranslationCallback()
564564
}
565+
requireView().clearAnimation()
566+
Log.i(TAG, "setupBackPressedDispatcher: Animations cleared")
567+
} catch (e: IllegalStateException) {
568+
Log.e(TAG, "setupBackPressedDispatcher: ", e)
565569
}
566570
}
567571

app/src/main/java/app/simple/inure/ui/panels/APKs.kt

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -371,6 +371,19 @@ class APKs : ScopedFragment() {
371371
}
372372
}
373373

374+
override fun onBackPressed() {
375+
try {
376+
if (adapterApks.isSelectionMode) {
377+
adapterApks.removeSelections()
378+
updateBottomMenu()
379+
} else {
380+
super.onBackPressed()
381+
}
382+
} catch (e: UninitializedPropertyAccessException) {
383+
super.onBackPressed()
384+
}
385+
}
386+
374387
companion object {
375388
fun newInstance(): APKs {
376389
val args = Bundle()

0 commit comments

Comments
 (0)