Skip to content

Commit c2ac5fc

Browse files
Refactor: Move UI adapters to dedicated package
This commit reorganizes the project structure by moving all UI adapter classes (`AppDrawerAdapter`, `ContactDrawerAdapter`, `FavoriteAdapter`, `NotesManagerAdapter`, `OnboardingAdapter`) into a new `adapter` subpackage within the `ui` package. This change improves code organization and modularity, making it easier to locate and manage adapter-related code. Additionally, this commit includes: - Deletion of the old `NotesManagerAdapter` and `OnboardingAdapter` files from their previous locations. - Updates to import statements in `AppDrawerFragment`, `FavoriteFragment`, `NotesManagerFragment`, and `OnboardingFragment` to reflect the new adapter locations. - A minor correction in `OnboardingAdapter` to use `OnboardingPageFragment.Companion.newInstance` for fragment creation. - Addition of the `android.permission.BIND_APPWIDGET` permission to the `AndroidManifest.xml`. Signed-off-by: CreativeCodeCat <wayne6324@gmail.com>
1 parent 4fcb1c8 commit c2ac5fc

File tree

10 files changed

+31
-20
lines changed

10 files changed

+31
-20
lines changed

app/src/main/AndroidManifest.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@
2626
<uses-permission android:name="android.permission.USE_BIOMETRIC" />
2727
<uses-permission android:name="android.permission.READ_CONTACTS" />
2828
<uses-permission android:name="android.permission.VIBRATE" />
29+
<uses-permission
30+
android:name="android.permission.BIND_APPWIDGET"
31+
tools:ignore="ProtectedPermissions" />
2932
<uses-permission
3033
android:name="android.permission.FOREGROUND_SERVICE"
3134
tools:ignore="ForegroundServicesPolicy" />

app/src/main/java/com/github/droidworksstudio/mlauncher/ui/AppDrawerFragment.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,8 @@ import com.github.droidworksstudio.mlauncher.helper.emptyString
5555
import com.github.droidworksstudio.mlauncher.helper.getHexForOpacity
5656
import com.github.droidworksstudio.mlauncher.helper.hasContactsPermission
5757
import com.github.droidworksstudio.mlauncher.helper.openAppInfo
58+
import com.github.droidworksstudio.mlauncher.ui.adapter.AppDrawerAdapter
59+
import com.github.droidworksstudio.mlauncher.ui.adapter.ContactDrawerAdapter
5860

5961
class AppDrawerFragment : Fragment() {
6062

app/src/main/java/com/github/droidworksstudio/mlauncher/ui/FavoriteFragment.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import com.github.droidworksstudio.mlauncher.R
2020
import com.github.droidworksstudio.mlauncher.data.Prefs
2121
import com.github.droidworksstudio.mlauncher.databinding.FragmentFavoriteBinding
2222
import com.github.droidworksstudio.mlauncher.helper.getHexForOpacity
23+
import com.github.droidworksstudio.mlauncher.ui.adapter.FavoriteAdapter
2324

2425
class FavoriteFragment : Fragment() {
2526

app/src/main/java/com/github/droidworksstudio/mlauncher/ui/AppDrawerAdapter.kt renamed to app/src/main/java/com/github/droidworksstudio/mlauncher/ui/adapter/AppDrawerAdapter.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* Prepare the data for the app drawer, which is the list of all the installed applications.
33
*/
44

5-
package com.github.droidworksstudio.mlauncher.ui
5+
package com.github.droidworksstudio.mlauncher.ui.adapter
66

77
import android.annotation.SuppressLint
88
import android.app.Activity

app/src/main/java/com/github/droidworksstudio/mlauncher/ui/ContactDrawerAdapter.kt renamed to app/src/main/java/com/github/droidworksstudio/mlauncher/ui/adapter/ContactDrawerAdapter.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.github.droidworksstudio.mlauncher.ui
1+
package com.github.droidworksstudio.mlauncher.ui.adapter
22

33
import android.annotation.SuppressLint
44
import android.content.Context

app/src/main/java/com/github/droidworksstudio/mlauncher/ui/FavoriteAdapter.kt renamed to app/src/main/java/com/github/droidworksstudio/mlauncher/ui/adapter/FavoriteAdapter.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.github.droidworksstudio.mlauncher.ui
1+
package com.github.droidworksstudio.mlauncher.ui.adapter
22

33
import android.annotation.SuppressLint
44
import android.graphics.drawable.Drawable

app/src/main/java/com/github/droidworksstudio/mlauncher/ui/notes/NotesManagerAdapter.kt renamed to app/src/main/java/com/github/droidworksstudio/mlauncher/ui/adapter/NotesManagerAdapter.kt

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
1-
package com.github.droidworksstudio.mlauncher.ui.notes
1+
package com.github.droidworksstudio.mlauncher.ui.adapter
22

33
import android.annotation.SuppressLint
44
import android.app.Activity
55
import android.content.Context
66
import android.content.res.ColorStateList
7+
import android.graphics.PorterDuff
78
import android.graphics.drawable.GradientDrawable
9+
import android.os.Handler
10+
import android.os.Looper
811
import android.util.TypedValue
912
import android.view.LayoutInflater
1013
import android.view.View
@@ -45,7 +48,7 @@ class NotesManagerAdapter(
4548

4649
private var lastClickTime = 0L
4750
private var clickRunnable: Runnable? = null
48-
private val clickHandler = android.os.Handler(android.os.Looper.getMainLooper())
51+
private val clickHandler = Handler(Looper.getMainLooper())
4952

5053

5154
class MessageViewHolder(view: View) : RecyclerView.ViewHolder(view) {
@@ -108,7 +111,7 @@ class NotesManagerAdapter(
108111
backgroundTintList = ColorStateList.valueOf(prefs.bubbleBackgroundColor)
109112
setColorFilter(
110113
ContextCompat.getColor(context, android.R.color.holo_orange_light),
111-
android.graphics.PorterDuff.Mode.SRC_ATOP
114+
PorterDuff.Mode.SRC_ATOP
112115
)
113116
setOnClickListener { onShareClick(position) }
114117
}
@@ -117,7 +120,7 @@ class NotesManagerAdapter(
117120
backgroundTintList = ColorStateList.valueOf(prefs.bubbleBackgroundColor)
118121
setColorFilter(
119122
ContextCompat.getColor(context, android.R.color.holo_green_light),
120-
android.graphics.PorterDuff.Mode.SRC_ATOP
123+
PorterDuff.Mode.SRC_ATOP
121124
)
122125
setOnClickListener { onEditClick(position) }
123126
}
@@ -126,7 +129,7 @@ class NotesManagerAdapter(
126129
backgroundTintList = ColorStateList.valueOf(prefs.bubbleBackgroundColor)
127130
setColorFilter(
128131
ContextCompat.getColor(context, android.R.color.holo_red_light),
129-
android.graphics.PorterDuff.Mode.SRC_ATOP
132+
PorterDuff.Mode.SRC_ATOP
130133
)
131134
setOnClickListener { onDeleteClick(position) }
132135
}
@@ -192,7 +195,7 @@ class NotesManagerAdapter(
192195

193196
@SuppressLint("NotifyDataSetChanged")
194197
private fun onDeleteClick(position: Int) {
195-
CrashHandler.logUserAction("Notes onDeleteClick")
198+
CrashHandler.Companion.logUserAction("Notes onDeleteClick")
196199
MaterialAlertDialogBuilder(context)
197200
.setTitle(getLocalizedString(R.string.confirm_delete_title))
198201
.setMessage(getLocalizedString(R.string.confirm_delete_message))
@@ -204,7 +207,7 @@ class NotesManagerAdapter(
204207
doubleExpandedPositions.remove(position)
205208
notifyDataSetChanged()
206209
onMessageUpdated()
207-
CrashHandler.logUserAction("Note Deleted")
210+
CrashHandler.Companion.logUserAction("Note Deleted")
208211
}
209212
.setNegativeButton(getLocalizedString(R.string.cancel), null)
210213
.show()
@@ -214,12 +217,12 @@ class NotesManagerAdapter(
214217
// Dismiss existing dialog if any
215218
shareUtils.shareDialog?.dismiss()
216219

217-
CrashHandler.logUserAction("Notes onShareClick")
220+
CrashHandler.Companion.logUserAction("Notes onShareClick")
218221
shareUtils.showMaterialShareDialog(context, getLocalizedString(R.string.share_note), messages[position].text)
219222
}
220223

221224
private fun onEditClick(position: Int) {
222-
CrashHandler.logUserAction("Notes onEditClick")
225+
CrashHandler.Companion.logUserAction("Notes onEditClick")
223226
showEditDialog(position)
224227
}
225228

@@ -285,7 +288,7 @@ class NotesManagerAdapter(
285288
)
286289
notifyDataSetChanged()
287290
onMessageUpdated()
288-
CrashHandler.logUserAction("Note Updated")
291+
CrashHandler.Companion.logUserAction("Note Updated")
289292
}
290293

291294
builder.setNegativeButton(getLocalizedString(R.string.cancel), null)
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
package com.github.droidworksstudio.mlauncher.ui.onboarding
1+
package com.github.droidworksstudio.mlauncher.ui.adapter
22

33
import androidx.fragment.app.Fragment
44
import androidx.viewpager2.adapter.FragmentStateAdapter
55
import com.github.droidworksstudio.mlauncher.R
6+
import com.github.droidworksstudio.mlauncher.ui.onboarding.OnboardingPageFragment
67

78
class OnboardingAdapter(fragment: Fragment) : FragmentStateAdapter(fragment) {
89

@@ -12,12 +13,11 @@ class OnboardingAdapter(fragment: Fragment) : FragmentStateAdapter(fragment) {
1213
// Return the corresponding fragment for each page
1314
override fun createFragment(position: Int): Fragment {
1415
return when (position) {
15-
0 -> OnboardingPageFragment.newInstance(R.layout.fragment_onboarding_page_one)
16-
1 -> OnboardingPageFragment.newInstance(R.layout.fragment_onboarding_page_two)
17-
2 -> OnboardingPageFragment.newInstance(R.layout.fragment_onboarding_page_three)
18-
3 -> OnboardingPageFragment.newInstance(R.layout.fragment_onboarding_page_four)
16+
0 -> OnboardingPageFragment.Companion.newInstance(R.layout.fragment_onboarding_page_one)
17+
1 -> OnboardingPageFragment.Companion.newInstance(R.layout.fragment_onboarding_page_two)
18+
2 -> OnboardingPageFragment.Companion.newInstance(R.layout.fragment_onboarding_page_three)
19+
3 -> OnboardingPageFragment.Companion.newInstance(R.layout.fragment_onboarding_page_four)
1920
else -> throw IllegalArgumentException("Invalid page position: $position")
2021
}
2122
}
22-
}
23-
23+
}

app/src/main/java/com/github/droidworksstudio/mlauncher/ui/notes/NotesManagerFragment.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import com.github.droidworksstudio.mlauncher.data.Prefs
2929
import com.github.droidworksstudio.mlauncher.databinding.FragmentNotesManagerBinding
3030
import com.github.droidworksstudio.mlauncher.helper.sortMessages
3131
import com.github.droidworksstudio.mlauncher.helper.utils.messages
32+
import com.github.droidworksstudio.mlauncher.ui.adapter.NotesManagerAdapter
3233
import com.google.android.material.dialog.MaterialAlertDialogBuilder
3334

3435
class NotesManagerFragment : Fragment() {

app/src/main/java/com/github/droidworksstudio/mlauncher/ui/onboarding/OnboardingFragment.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import com.github.droidworksstudio.mlauncher.data.Prefs
1212
import com.github.droidworksstudio.mlauncher.databinding.FragmentOnboardingBinding
1313
import com.github.droidworksstudio.mlauncher.helper.isSystemInDarkMode
1414
import com.github.droidworksstudio.mlauncher.helper.setThemeMode
15+
import com.github.droidworksstudio.mlauncher.ui.adapter.OnboardingAdapter
1516

1617
class OnboardingFragment : Fragment(R.layout.fragment_onboarding) {
1718
private lateinit var prefs: Prefs

0 commit comments

Comments
 (0)