Skip to content

Commit 73ef572

Browse files
committed
Integrate IconShapeManager into Dagger dependency injection
1 parent 67b32fc commit 73ef572

2 files changed

Lines changed: 20 additions & 6 deletions

File tree

Omega/src/com/neoapps/neolauncher/icons/IconShapeManager.kt

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,19 @@ import android.content.Context
2222
import android.graphics.Path
2323
import android.graphics.Region
2424
import android.graphics.drawable.AdaptiveIconDrawable
25+
import com.android.launcher3.dagger.ApplicationContext
26+
import com.android.launcher3.dagger.LauncherAppComponent
27+
import com.android.launcher3.dagger.LauncherAppSingleton
2528
import com.android.launcher3.graphics.ThemeManager
2629
import com.android.launcher3.icons.GraphicsUtils
27-
import com.android.launcher3.util.MainThreadInitializedObject
30+
import com.android.launcher3.util.DaggerSingletonObject
31+
import com.android.launcher3.util.SafeCloseable
32+
import jakarta.inject.Inject
2833

29-
class IconShapeManager(private val context: Context) {
34+
@LauncherAppSingleton
35+
class IconShapeManager @Inject constructor(
36+
@ApplicationContext private val context: Context,
37+
) : SafeCloseable {
3038
fun getSystemShape(): IconShape {
3139
val iconMask = AdaptiveIconDrawable(null, null).iconMask
3240
val systemShape = findNearestShape(iconMask)
@@ -80,10 +88,13 @@ class IconShapeManager(private val context: Context) {
8088
}!!
8189
}
8290

83-
companion object {
91+
override fun close() {
92+
TODO("Not yet implemented")
93+
}
8494

95+
companion object {
8596
@JvmField
86-
val INSTANCE = MainThreadInitializedObject(::IconShapeManager)
97+
val INSTANCE = DaggerSingletonObject(LauncherAppComponent::getIconShapeManager)
8798
}
8899

89100
}

src/com/android/launcher3/dagger/LauncherBaseAppComponent.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,12 +72,13 @@
7272
import com.android.launcher3.widget.custom.CustomWidgetManager;
7373
import com.android.launcher3.widget.util.WidgetSizeHandler;
7474
import com.neoapps.neolauncher.data.IconOverrideRepository;
75+
import com.neoapps.neolauncher.icons.IconShapeManager;
7576
import com.neoapps.neolauncher.util.CustomActivityCachingLogic;
7677

77-
import dagger.BindsInstance;
78-
7978
import javax.inject.Named;
8079

80+
import dagger.BindsInstance;
81+
8182
/**
8283
* Launcher base component for Dagger injection.
8384
*
@@ -182,6 +183,8 @@ public interface LauncherBaseAppComponent {
182183
IconOverrideRepository getIconOverrideRepository();
183184
CustomActivityCachingLogic getCustomActivityCachingLogic();
184185

186+
IconShapeManager getIconShapeManager();
187+
185188
/** Builder for LauncherBaseAppComponent. */
186189
interface Builder {
187190
@BindsInstance Builder appContext(@ApplicationContext Context context);

0 commit comments

Comments
 (0)