Skip to content

Commit cd98d0a

Browse files
Fix: Default launcher text now disappears on click and properly sets as default.
1 parent 3759d39 commit cd98d0a

File tree

5 files changed

+62
-40
lines changed

5 files changed

+62
-40
lines changed

app/src/main/java/com/github/droidworksstudio/mlauncher/MainActivity.kt

+12
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import com.github.droidworksstudio.mlauncher.data.Migration
2020
import com.github.droidworksstudio.mlauncher.data.Prefs
2121
import com.github.droidworksstudio.mlauncher.databinding.ActivityMainBinding
2222
import com.github.droidworksstudio.mlauncher.helper.isTablet
23+
import com.github.droidworksstudio.mlauncher.helper.ismlauncherDefault
2324
import com.github.droidworksstudio.mlauncher.helper.utils.AppReloader
2425
import com.google.gson.Gson
2526
import com.google.gson.reflect.TypeToken
@@ -136,6 +137,17 @@ class MainActivity : AppCompatActivity() {
136137
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
137138
super.onActivityResult(requestCode, resultCode, data)
138139
when (requestCode) {
140+
141+
Constants.REQUEST_SET_DEFAULT_HOME -> {
142+
val isDefault = ismlauncherDefault(this) // Check again if the app is now default
143+
144+
if (isDefault) {
145+
viewModel.setDefaultLauncher(false)
146+
} else {
147+
viewModel.setDefaultLauncher(true)
148+
}
149+
}
150+
139151
Constants.BACKUP_READ -> {
140152
data?.data?.also { uri ->
141153
applicationContext.contentResolver.openInputStream(uri).use { inputStream ->

app/src/main/java/com/github/droidworksstudio/mlauncher/MainViewModel.kt

+7-2
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ class MainViewModel(application: Application) : AndroidViewModel(application) {
3939
val appList = MutableLiveData<List<AppListItem>?>()
4040
val hiddenApps = MutableLiveData<List<AppListItem>?>()
4141
val homeAppsOrder = MutableLiveData<List<AppListItem>>() // Store actual app items
42-
private val launcherDefault = MutableLiveData<Boolean>()
42+
val launcherDefault = MutableLiveData<Boolean>()
4343

4444
val showDate = MutableLiveData(prefs.showDate)
4545
val showClock = MutableLiveData(prefs.showClock)
@@ -111,6 +111,10 @@ class MainViewModel(application: Application) : AndroidViewModel(application) {
111111
showFloating.value = visibility
112112
}
113113

114+
fun setDefaultLauncher(visibility: Boolean) {
115+
launcherDefault.value = visibility
116+
}
117+
114118
fun launchApp(appListItem: AppListItem, fragment: Fragment) {
115119
biometricHelper = BiometricHelper(fragment)
116120

@@ -202,7 +206,8 @@ class MainViewModel(application: Application) : AndroidViewModel(application) {
202206
}
203207

204208
fun ismlauncherDefault() {
205-
launcherDefault.value = ismlauncherDefault(appContext)
209+
val isDefault = ismlauncherDefault(appContext)
210+
launcherDefault.value = !isDefault
206211
}
207212

208213
fun resetDefaultLauncherApp(context: Context) {

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

+4
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,10 @@ class AppDrawerFragment : Fragment() {
6767
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
6868
super.onViewCreated(view, savedInstanceState)
6969

70+
if (prefs.firstSettingsOpen) {
71+
prefs.firstSettingsOpen = false
72+
}
73+
7074
// Retrieve the letter key code from arguments
7175
val letterKeyCode = arguments?.getInt("letterKeyCode", -1)
7276
if (letterKeyCode != null && letterKeyCode != -1) {

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

+11-10
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,8 @@ class HomeFragment : Fragment(), View.OnClickListener, View.OnLongClickListener
119119
ViewModelProvider(this)[MainViewModel::class.java]
120120
} ?: throw Exception("Invalid Activity")
121121

122+
viewModel.ismlauncherDefault()
123+
122124
deviceManager =
123125
context?.getSystemService(Context.DEVICE_POLICY_SERVICE) as DevicePolicyManager
124126
@Suppress("DEPRECATION")
@@ -306,14 +308,11 @@ class HomeFragment : Fragment(), View.OnClickListener, View.OnLongClickListener
306308

307309
private fun initObservers() {
308310
binding.apply {
309-
if (prefs.firstSettingsOpen) {
310-
firstRunTips.visibility = View.VISIBLE
311-
setDefaultLauncher.visibility = View.GONE
312-
} else firstRunTips.visibility = View.GONE
311+
if (prefs.firstSettingsOpen) firstRunTips.visibility = View.VISIBLE
312+
else firstRunTips.visibility = View.GONE
313313

314-
if (!ismlauncherDefault(requireContext())) {
315-
setDefaultLauncher.visibility = View.VISIBLE
316-
}
314+
if (!ismlauncherDefault(requireContext())) setDefaultLauncher.visibility = View.VISIBLE
315+
else setDefaultLauncher.visibility = View.GONE
317316
}
318317

319318
with(viewModel) {
@@ -381,10 +380,12 @@ class HomeFragment : Fragment(), View.OnClickListener, View.OnLongClickListener
381380
showDailyWord.observe(viewLifecycleOwner) {
382381
binding.dailyWord.visibility = if (it) View.VISIBLE else View.GONE
383382
}
384-
385383
showFloating.observe(viewLifecycleOwner) {
386384
binding.floatingActionButton.visibility = if (it) View.VISIBLE else View.GONE
387385
}
386+
launcherDefault.observe(viewLifecycleOwner) {
387+
binding.setDefaultLauncher.visibility = if (it) View.VISIBLE else View.GONE
388+
}
388389
}
389390
}
390391

@@ -936,9 +937,9 @@ class HomeFragment : Fragment(), View.OnClickListener, View.OnLongClickListener
936937

937938
// Set margins based on navigation mode
938939
val margins = if (isGestureNav) {
939-
listOf(50, 100, 150, 200) // Adjusted margins for gesture navigation
940+
listOf(100, 150, 200, 250) // Adjusted margins for gesture navigation
940941
} else {
941-
listOf(100, 150, 200, 250) // Adjusted margins for 3-button navigation
942+
listOf(150, 200, 250, 300) // Adjusted margins for 3-button navigation
942943
}
943944

944945
val visibleViews = views.filter { it.isVisible }

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

+28-28
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,34 @@
7676
android:visibility="gone" />
7777
</LinearLayout>
7878
</androidx.appcompat.widget.LinearLayoutCompat>
79+
80+
<!-- First run tips -->
81+
<LinearLayout
82+
android:id="@+id/firstRunTips"
83+
android:layout_width="match_parent"
84+
android:layout_height="wrap_content"
85+
android:layout_gravity="bottom"
86+
android:layout_marginStart="4dp"
87+
android:layout_marginTop="106dp"
88+
android:layout_marginEnd="4dp"
89+
android:gravity="center_horizontal"
90+
android:orientation="vertical"
91+
android:visibility="gone"
92+
tools:visibility="visible">
93+
94+
<TextView
95+
style="@style/TextSmall"
96+
android:layout_width="wrap_content"
97+
android:layout_height="wrap_content"
98+
android:text="@string/swipe_up_for_apps" />
99+
100+
<TextView
101+
style="@style/TextSmall"
102+
android:layout_width="wrap_content"
103+
android:layout_height="wrap_content"
104+
android:text="@string/long_press_for_settings" />
105+
106+
</LinearLayout>
79107
</androidx.appcompat.widget.LinearLayoutCompat>
80108

81109

@@ -123,34 +151,6 @@
123151
android:text="@string/advanced_settings_set_as_default_launcher"
124152
android:visibility="gone" />
125153

126-
<!-- First run tips -->
127-
<LinearLayout
128-
android:id="@+id/firstRunTips"
129-
android:layout_width="match_parent"
130-
android:layout_height="wrap_content"
131-
android:layout_gravity="bottom"
132-
android:layout_marginStart="4dp"
133-
android:layout_marginEnd="4dp"
134-
android:layout_marginBottom="106dp"
135-
android:gravity="center_horizontal"
136-
android:orientation="vertical"
137-
android:visibility="gone"
138-
tools:visibility="visible">
139-
140-
<TextView
141-
style="@style/TextSmall"
142-
android:layout_width="wrap_content"
143-
android:layout_height="wrap_content"
144-
android:text="@string/swipe_up_for_apps" />
145-
146-
<TextView
147-
style="@style/TextSmall"
148-
android:layout_width="wrap_content"
149-
android:layout_height="wrap_content"
150-
android:text="@string/long_press_for_settings" />
151-
152-
</LinearLayout>
153-
154154
<ImageView
155155
android:id="@+id/floatingActionButton"
156156
android:layout_width="32dp"

0 commit comments

Comments
 (0)