diff options
| author | Tanuj <thetanuj@hotmail.com> | 2024-11-16 12:07:19 +0530 |
|---|---|---|
| committer | Tanuj <thetanuj@hotmail.com> | 2024-11-16 12:07:19 +0530 |
| commit | 5db3c85e0ab6005840001b6cedf0c7decf873eea (patch) | |
| tree | 2a8c0e4b4c010db2459834bc22ed276ce1d69f0f | |
| parent | 557f496613835bc0455e3d5c913454961043b868 (diff) | |
| download | SidePhOnelauncher-5db3c85e0ab6005840001b6cedf0c7decf873eea.tar.gz SidePhOnelauncher-5db3c85e0ab6005840001b6cedf0c7decf873eea.tar.bz2 SidePhOnelauncher-5db3c85e0ab6005840001b6cedf0c7decf873eea.zip | |
Settings UI changes
| -rw-r--r-- | app/src/main/java/app/olauncher/data/Prefs.kt | 10 | ||||
| -rw-r--r-- | app/src/main/java/app/olauncher/ui/SettingsFragment.kt | 20 | ||||
| -rw-r--r-- | app/src/main/res/layout-land/fragment_settings.xml | 221 | ||||
| -rw-r--r-- | app/src/main/res/layout/fragment_settings.xml | 230 | ||||
| -rw-r--r-- | app/src/main/res/values/strings.xml | 5 |
5 files changed, 281 insertions, 205 deletions
diff --git a/app/src/main/java/app/olauncher/data/Prefs.kt b/app/src/main/java/app/olauncher/data/Prefs.kt index c281b8c..c1ab5ad 100644 --- a/app/src/main/java/app/olauncher/data/Prefs.kt +++ b/app/src/main/java/app/olauncher/data/Prefs.kt @@ -27,7 +27,6 @@ class Prefs(context: Context) { private val DATE_TIME_VISIBILITY = "DATE_TIME_VISIBILITY" private val SWIPE_LEFT_ENABLED = "SWIPE_LEFT_ENABLED" private val SWIPE_RIGHT_ENABLED = "SWIPE_RIGHT_ENABLED" - private val SCREEN_TIMEOUT = "SCREEN_TIMEOUT" private val HIDDEN_APPS = "HIDDEN_APPS" private val HIDDEN_APPS_UPDATED = "HIDDEN_APPS_UPDATED" private val SHOW_HINT_COUNTER = "SHOW_HINT_COUNTER" @@ -37,7 +36,6 @@ class Prefs(context: Context) { private val SHARE_SHOWN_TIME = "SHARE_SHOWN_TIME" private val SWIPE_DOWN_ACTION = "SWIPE_DOWN_ACTION" private val TEXT_SIZE_SCALE = "TEXT_SIZE_SCALE" - private val HIDE_DIGITAL_WELLBEING = "HIDE_DIGITAL_WELLBEING" private val APP_NAME_1 = "APP_NAME_1" private val APP_NAME_2 = "APP_NAME_2" @@ -169,14 +167,6 @@ class Prefs(context: Context) { get() = prefs.getFloat(TEXT_SIZE_SCALE, 1.0f) set(value) = prefs.edit().putFloat(TEXT_SIZE_SCALE, value).apply() - var hideDigitalWellbeing: Boolean - get() = prefs.getBoolean(HIDE_DIGITAL_WELLBEING, false) - set(value) = prefs.edit().putBoolean(HIDE_DIGITAL_WELLBEING, value).apply() - - var screenTimeout: Int - get() = prefs.getInt(SCREEN_TIMEOUT, 30000) // Default: 30 seconds - set(value) = prefs.edit().putInt(SCREEN_TIMEOUT, value).apply() - var hiddenApps: MutableSet<String> get() = prefs.getStringSet(HIDDEN_APPS, mutableSetOf()) as MutableSet<String> set(value) = prefs.edit().putStringSet(HIDDEN_APPS, value).apply() diff --git a/app/src/main/java/app/olauncher/ui/SettingsFragment.kt b/app/src/main/java/app/olauncher/ui/SettingsFragment.kt index 48e3b0b..94a4fc3 100644 --- a/app/src/main/java/app/olauncher/ui/SettingsFragment.kt +++ b/app/src/main/java/app/olauncher/ui/SettingsFragment.kt @@ -27,11 +27,11 @@ import app.olauncher.data.Constants import app.olauncher.data.Prefs import app.olauncher.databinding.FragmentSettingsBinding import app.olauncher.helper.animateAlpha +import app.olauncher.helper.appUsagePermissionGranted import app.olauncher.helper.getColorFromAttr import app.olauncher.helper.isAccessServiceEnabled import app.olauncher.helper.isDarkThemeOn import app.olauncher.helper.isOlauncherDefault -import app.olauncher.helper.isPackageInstalled import app.olauncher.helper.openAppInfo import app.olauncher.helper.openUrl import app.olauncher.helper.rateApp @@ -69,6 +69,7 @@ class SettingsFragment : Fragment(), View.OnClickListener, View.OnLongClickListe binding.homeAppsNum.text = prefs.homeAppsNum.toString() populateKeyboardText() + populateScreenTimeOnOff() populateLockSettings() populateWallpaperText() populateAppThemeText() @@ -95,7 +96,7 @@ class SettingsFragment : Fragment(), View.OnClickListener, View.OnLongClickListe when (view.id) { R.id.olauncherHiddenApps -> showHiddenApps() R.id.olauncherPro -> requireContext().openUrl(Constants.URL_OLAUNCHER_PRO) - R.id.digitalWellbeing -> viewModel.showDialog.postValue(Constants.Dialog.DIGITAL_WELLBEING) + R.id.screenTimeOnOff -> viewModel.showDialog.postValue(Constants.Dialog.DIGITAL_WELLBEING) R.id.appInfo -> openAppInfo(requireContext(), Process.myUserHandle(), BuildConfig.APPLICATION_ID) R.id.setLauncher -> viewModel.resetLauncherLiveData.call() R.id.toggleLock -> toggleLockMode() @@ -168,11 +169,6 @@ class SettingsFragment : Fragment(), View.OnClickListener, View.OnLongClickListe override fun onLongClick(view: View): Boolean { when (view.id) { - R.id.digitalWellbeing -> { - prefs.hideDigitalWellbeing = true - binding.digitalWellbeing.visibility = View.GONE - } - R.id.alignment -> { prefs.appLabelAlignment = prefs.homeAlignment findNavController().navigate(R.id.action_settingsFragment_to_appListFragment) @@ -199,10 +195,10 @@ class SettingsFragment : Fragment(), View.OnClickListener, View.OnLongClickListe binding.setLauncher.setOnClickListener(this) binding.aboutOlauncher.setOnClickListener(this) binding.olauncherPro.setOnClickListener(this) - binding.digitalWellbeing.setOnClickListener(this) binding.autoShowKeyboard.setOnClickListener(this) binding.toggleLock.setOnClickListener(this) binding.homeAppsNum.setOnClickListener(this) + binding.screenTimeOnOff.setOnClickListener(this) binding.dailyWallpaperUrl.setOnClickListener(this) binding.dailyWallpaper.setOnClickListener(this) binding.alignment.setOnClickListener(this) @@ -254,7 +250,6 @@ class SettingsFragment : Fragment(), View.OnClickListener, View.OnLongClickListe binding.textSize6.setOnClickListener(this) binding.textSize7.setOnClickListener(this) - binding.digitalWellbeing.setOnLongClickListener(this) binding.dailyWallpaper.setOnLongClickListener(this) binding.alignment.setOnLongClickListener(this) binding.appThemeText.setOnLongClickListener(this) @@ -525,6 +520,13 @@ class SettingsFragment : Fragment(), View.OnClickListener, View.OnLongClickListe }.toString() } + private fun populateScreenTimeOnOff() { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { + if (requireContext().appUsagePermissionGranted()) binding.screenTimeOnOff.text = getString(R.string.on) + else binding.screenTimeOnOff.text = getString(R.string.off) + } else binding.screenTimeLayout.visibility = View.GONE + } + private fun populateKeyboardText() { if (prefs.autoShowKeyboard) binding.autoShowKeyboard.text = getString(R.string.on) else binding.autoShowKeyboard.text = getString(R.string.off) diff --git a/app/src/main/res/layout-land/fragment_settings.xml b/app/src/main/res/layout-land/fragment_settings.xml index 22aa09c..30e4002 100644 --- a/app/src/main/res/layout-land/fragment_settings.xml +++ b/app/src/main/res/layout-land/fragment_settings.xml @@ -89,18 +89,6 @@ android:layout_marginBottom="8dp" android:text="@string/olauncher_pro" /> - <TextView - android:id="@+id/digitalWellbeing" - style="@style/TextSmall" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginStart="8dp" - android:layout_marginTop="12dp" - android:layout_marginBottom="8dp" - android:text="@string/screen_time" - android:visibility="gone" - tools:visibility="visible" /> - </LinearLayout> <LinearLayout @@ -119,7 +107,7 @@ android:layout_height="wrap_content" android:layout_marginStart="8dp" android:layout_marginBottom="8dp" - android:text="@string/appearance" + android:text="@string/home_screen" android:textColor="?attr/primaryColor" /> <FrameLayout @@ -268,84 +256,6 @@ android:layout_height="wrap_content" android:layout_marginStart="8dp" android:paddingVertical="8dp" - android:text="@string/auto_show_keyboard" - android:textColor="?attr/primaryColor" /> - - <TextView - android:id="@+id/autoShowKeyboard" - style="@style/TextSmallBold" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="end|bottom" - android:layout_marginEnd="4dp" - android:padding="8dp" - android:text="@string/on" /> - </FrameLayout> - - <FrameLayout - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_marginTop="12dp" - android:animateLayoutChanges="true"> - - <TextView - android:id="@+id/dailyWallpaperUrl" - style="@style/TextSmall" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginStart="8dp" - android:paddingVertical="8dp" - android:text="@string/daily_wallpaper_update" /> - - <TextView - android:id="@+id/dailyWallpaper" - style="@style/TextSmallBold" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="end|bottom" - android:layout_marginEnd="4dp" - android:padding="8dp" - android:text="@string/off" /> - </FrameLayout> - - <FrameLayout - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_marginTop="12dp" - android:animateLayoutChanges="true"> - - <TextView - style="@style/TextSmall" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginStart="8dp" - android:paddingVertical="8dp" - android:text="@string/status_bar" - android:textColor="?attr/primaryColor" /> - - <TextView - android:id="@+id/statusBar" - style="@style/TextSmallBold" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="end|bottom" - android:layout_marginEnd="4dp" - android:padding="8dp" - android:text="@string/off" /> - </FrameLayout> - - <FrameLayout - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_marginTop="12dp" - android:animateLayoutChanges="true"> - - <TextView - style="@style/TextSmall" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginStart="8dp" - android:paddingVertical="8dp" android:text="@string/show_date_time" android:textColor="?attr/primaryColor" /> @@ -513,6 +423,135 @@ </FrameLayout> <FrameLayout + android:id="@+id/screenTimeLayout" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginTop="12dp" + android:animateLayoutChanges="true" + android:clipChildren="false" + android:clipToPadding="false"> + + <TextView + style="@style/TextSmall" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginStart="8dp" + android:paddingVertical="8dp" + android:text="@string/screen_time" + android:textColor="?attr/primaryColor" /> + + <TextView + android:id="@+id/screenTimeOnOff" + style="@style/TextSmallBold" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="end|bottom" + android:layout_marginEnd="4dp" + android:padding="8dp" + android:text="@string/left" /> + + </FrameLayout> + + </LinearLayout> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_margin="12dp" + android:background="@drawable/rounded_rect_shade_color" + android:clipChildren="false" + android:clipToPadding="false" + android:orientation="vertical" + android:padding="12dp"> + + <TextView + style="@style/TextLarge" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginStart="8dp" + android:layout_marginBottom="8dp" + android:text="@string/appearance" + android:textColor="?attr/primaryColor" /> + + <FrameLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginTop="12dp" + android:animateLayoutChanges="true"> + + <TextView + style="@style/TextSmall" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginStart="8dp" + android:paddingVertical="8dp" + android:text="@string/auto_show_keyboard" + android:textColor="?attr/primaryColor" /> + + <TextView + android:id="@+id/autoShowKeyboard" + style="@style/TextSmallBold" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="end|bottom" + android:layout_marginEnd="4dp" + android:padding="8dp" + android:text="@string/on" /> + </FrameLayout> + + <FrameLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginTop="12dp" + android:animateLayoutChanges="true"> + + <TextView + android:id="@+id/dailyWallpaperUrl" + style="@style/TextSmall" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginStart="8dp" + android:paddingVertical="8dp" + android:text="@string/daily_wallpaper_update" /> + + <TextView + android:id="@+id/dailyWallpaper" + style="@style/TextSmallBold" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="end|bottom" + android:layout_marginEnd="4dp" + android:padding="8dp" + android:text="@string/off" /> + </FrameLayout> + + <FrameLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginTop="12dp" + android:animateLayoutChanges="true"> + + <TextView + style="@style/TextSmall" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginStart="8dp" + android:paddingVertical="8dp" + android:text="@string/status_bar" + android:textColor="?attr/primaryColor" /> + + <TextView + android:id="@+id/statusBar" + style="@style/TextSmallBold" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="end|bottom" + android:layout_marginEnd="4dp" + android:padding="8dp" + android:text="@string/off" /> + </FrameLayout> + + <FrameLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="12dp" diff --git a/app/src/main/res/layout/fragment_settings.xml b/app/src/main/res/layout/fragment_settings.xml index dfdbe99..33f905d 100644 --- a/app/src/main/res/layout/fragment_settings.xml +++ b/app/src/main/res/layout/fragment_settings.xml @@ -90,23 +90,13 @@ android:layout_marginBottom="8dp" android:text="@string/olauncher_pro" /> - <TextView - android:id="@+id/digitalWellbeing" - style="@style/TextSmall" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginStart="8dp" - android:layout_marginTop="12dp" - android:layout_marginBottom="8dp" - android:text="@string/screen_time" - tools:visibility="visible" /> - </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_margin="12dp" + android:layout_marginHorizontal="12dp" + android:layout_marginTop="12dp" android:background="@drawable/rounded_rect_shade_color" android:clipChildren="false" android:clipToPadding="false" @@ -120,7 +110,7 @@ android:layout_height="wrap_content" android:layout_marginStart="8dp" android:layout_marginTop="12dp" - android:text="@string/appearance" + android:text="@string/home_screen" android:textColor="?attr/primaryColor" /> <FrameLayout @@ -272,84 +262,6 @@ android:layout_height="wrap_content" android:layout_marginStart="8dp" android:paddingVertical="8dp" - android:text="@string/auto_show_keyboard" - android:textColor="?attr/primaryColor" /> - - <TextView - android:id="@+id/autoShowKeyboard" - style="@style/TextSmallBold" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="end|bottom" - android:layout_marginEnd="4dp" - android:padding="8dp" - android:text="@string/on" /> - </FrameLayout> - - <FrameLayout - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_marginTop="12dp" - android:animateLayoutChanges="true"> - - <TextView - android:id="@+id/dailyWallpaperUrl" - style="@style/TextSmall" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginStart="8dp" - android:paddingVertical="8dp" - android:text="@string/daily_wallpaper_update" /> - - <TextView - android:id="@+id/dailyWallpaper" - style="@style/TextSmallBold" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="end|bottom" - android:layout_marginEnd="4dp" - android:padding="8dp" - android:text="@string/off" /> - </FrameLayout> - - <FrameLayout - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_marginTop="12dp" - android:animateLayoutChanges="true"> - - <TextView - style="@style/TextSmall" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginStart="8dp" - android:paddingVertical="8dp" - android:text="@string/status_bar" - android:textColor="?attr/primaryColor" /> - - <TextView - android:id="@+id/statusBar" - style="@style/TextSmallBold" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="end|bottom" - android:layout_marginEnd="4dp" - android:padding="8dp" - android:text="@string/off" /> - </FrameLayout> - - <FrameLayout - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_marginTop="12dp" - android:animateLayoutChanges="true"> - - <TextView - style="@style/TextSmall" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginStart="8dp" - android:paddingVertical="8dp" android:text="@string/show_date_time" android:textColor="?attr/primaryColor" /> @@ -525,6 +437,138 @@ </FrameLayout> <FrameLayout + android:id="@+id/screenTimeLayout" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginTop="12dp" + android:layout_marginBottom="4dp" + android:animateLayoutChanges="true" + android:clipChildren="false" + android:clipToPadding="false"> + + <TextView + style="@style/TextSmall" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginStart="8dp" + android:paddingVertical="8dp" + android:text="@string/screen_time" + android:textColor="?attr/primaryColor" /> + + <TextView + android:id="@+id/screenTimeOnOff" + style="@style/TextSmallBold" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="end|bottom" + android:layout_marginEnd="4dp" + android:padding="8dp" + android:text="@string/off" /> + + </FrameLayout> + + </LinearLayout> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginHorizontal="12dp" + android:layout_marginTop="12dp" + android:background="@drawable/rounded_rect_shade_color" + android:clipChildren="false" + android:clipToPadding="false" + android:orientation="vertical" + android:padding="12dp" + tools:visibility="visible"> + + <TextView + style="@style/TextLarge" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginStart="8dp" + android:layout_marginTop="12dp" + android:text="@string/appearance" + android:textColor="?attr/primaryColor" /> + + <FrameLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginTop="12dp" + android:animateLayoutChanges="true"> + + <TextView + style="@style/TextSmall" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginStart="8dp" + android:paddingVertical="8dp" + android:text="@string/auto_show_keyboard" + android:textColor="?attr/primaryColor" /> + + <TextView + android:id="@+id/autoShowKeyboard" + style="@style/TextSmallBold" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="end|bottom" + android:layout_marginEnd="4dp" + android:padding="8dp" + android:text="@string/on" /> + </FrameLayout> + + <FrameLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginTop="12dp" + android:animateLayoutChanges="true"> + + <TextView + android:id="@+id/dailyWallpaperUrl" + style="@style/TextSmall" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginStart="8dp" + android:paddingVertical="8dp" + android:text="@string/daily_wallpaper_update" /> + + <TextView + android:id="@+id/dailyWallpaper" + style="@style/TextSmallBold" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="end|bottom" + android:layout_marginEnd="4dp" + android:padding="8dp" + android:text="@string/off" /> + </FrameLayout> + + <FrameLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginTop="12dp" + android:animateLayoutChanges="true"> + + <TextView + style="@style/TextSmall" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginStart="8dp" + android:paddingVertical="8dp" + android:text="@string/status_bar" + android:textColor="?attr/primaryColor" /> + + <TextView + android:id="@+id/statusBar" + style="@style/TextSmallBold" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="end|bottom" + android:layout_marginEnd="4dp" + android:padding="8dp" + android:text="@string/off" /> + </FrameLayout> + + <FrameLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="12dp" @@ -728,8 +772,8 @@ <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginStart="12dp" - android:layout_marginEnd="12dp" + android:layout_marginHorizontal="12dp" + android:layout_marginTop="12dp" android:animateLayoutChanges="true" android:background="@drawable/rounded_rect_shade_color" android:orientation="vertical" diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index fbe4ad0..7a85160 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -82,8 +82,8 @@ \n\nThe choice is always yours.</string> <string name="digital_wellbeing_message">If you want to set time limits for certain apps, Digital Wellbeing feature of Android can help you do it. \n\nPlease search for Digital Wellbeing in your phone settings and enable it.</string> - <string name="app_usage_message">To see your screen time on the home screen, please allow the app usage permission. - \n\nNote: No app usage data is collected by us. All the data is processed on your device.</string> + <string name="app_usage_message">To see show/hide your screen time on the home screen, please allow or disallow the app usage permission. + \n\nNote: No app usage data is collected. Everything is processed on your device.</string> <string name="accessibility_service_description">The accessibility permission is required to enable double tap to lock. Any data acquired by Olauncher via this service will not leave your device.</string> <string name="support_olauncher_for_free">Support Olauncher for free by using our Amazon affiliate link.</string> <string name="support_olauncher_message">Every time you buy something using our link, we get a small commission. Please save the link and use it whenever you shop online.\nThank you!</string> @@ -149,4 +149,5 @@ <string name="review_message">Olauncher is free and always will be. It has no ads, collects no data, and helps you reduce screen time for a healthier digital life. \n\nWe believe a minimal launcher is a great choice, and we hope you enjoy it. Tell the world what you think!</string> <string name="alignment_changed">Alignment changed ✅</string> + <string name="home_screen">Home screen</string> </resources>
\ No newline at end of file |
