diff --git a/app/src/main/java/com/tommasoberlose/anotherwidget/ui/fragments/CalendarTabFragment.kt b/app/src/main/java/com/tommasoberlose/anotherwidget/ui/fragments/CalendarTabFragment.kt index 3d508b1..510aa4f 100644 --- a/app/src/main/java/com/tommasoberlose/anotherwidget/ui/fragments/CalendarTabFragment.kt +++ b/app/src/main/java/com/tommasoberlose/anotherwidget/ui/fragments/CalendarTabFragment.kt @@ -32,9 +32,11 @@ import com.tommasoberlose.anotherwidget.ui.activities.MainActivity import com.tommasoberlose.anotherwidget.ui.viewmodels.MainViewModel import com.tommasoberlose.anotherwidget.helpers.CalendarHelper import com.tommasoberlose.anotherwidget.helpers.DateHelper +import com.tommasoberlose.anotherwidget.helpers.IntentHelper import com.tommasoberlose.anotherwidget.helpers.SettingsStringHelper import com.tommasoberlose.anotherwidget.ui.activities.CustomDateActivity import com.tommasoberlose.anotherwidget.utils.checkGrantedPermission +import com.tommasoberlose.anotherwidget.utils.isDefaultSet import com.tommasoberlose.anotherwidget.utils.toast import kotlinx.android.synthetic.main.fragment_calendar_settings.* import kotlinx.android.synthetic.main.fragment_calendar_settings.scrollView @@ -157,7 +159,18 @@ class CalendarTabFragment : Fragment() { viewModel.calendarAppName.observe(viewLifecycleOwner, Observer { maintainScrollPosition { - calendar_app_label?.text = if (it != "") it else getString(R.string.default_calendar_app) + calendar_app_label?.text = when { + Preferences.clockAppName != "" -> Preferences.clockAppName + else -> { + if (IntentHelper.getCalendarIntent(requireContext()).isDefaultSet(requireContext())) { + getString( + R.string.default_calendar_app + ) + } else { + getString(R.string.nothing) + } + } + } } }) diff --git a/app/src/main/java/com/tommasoberlose/anotherwidget/ui/fragments/ClockTabFragment.kt b/app/src/main/java/com/tommasoberlose/anotherwidget/ui/fragments/ClockTabFragment.kt index 46630df..178d59f 100644 --- a/app/src/main/java/com/tommasoberlose/anotherwidget/ui/fragments/ClockTabFragment.kt +++ b/app/src/main/java/com/tommasoberlose/anotherwidget/ui/fragments/ClockTabFragment.kt @@ -36,6 +36,7 @@ import com.tommasoberlose.anotherwidget.helpers.IntentHelper import com.tommasoberlose.anotherwidget.ui.activities.ChooseApplicationActivity import com.tommasoberlose.anotherwidget.ui.activities.MainActivity import com.tommasoberlose.anotherwidget.ui.viewmodels.MainViewModel +import com.tommasoberlose.anotherwidget.utils.isDefaultSet import kotlinx.android.synthetic.main.fragment_clock_settings.* import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.delay @@ -155,17 +156,17 @@ class ClockTabFragment : Fragment() { viewModel.clockAppName.observe(viewLifecycleOwner, Observer { maintainScrollPosition { - clock_app_label?.text = try { - with(requireContext().packageManager) { - Log.d("ciao", "app: ${IntentHelper.getClockIntent(requireContext()).resolveActivity(this)}") - if (IntentHelper.getClockIntent(requireContext()).resolveActivity(this) == null) - throw Exception() + clock_app_label?.text = when { + Preferences.clockAppName != "" -> Preferences.clockAppName + else -> { + if (IntentHelper.getClockIntent(requireContext()).isDefaultSet(requireContext())) { + getString( + R.string.default_clock_app + ) + } else { + getString(R.string.nothing) + } } - if (Preferences.clockAppName != "") Preferences.clockAppName else getString( - R.string.default_clock_app - ) - } catch (ex: Exception) { - "Nothing" } } }) diff --git a/app/src/main/java/com/tommasoberlose/anotherwidget/utils/Extensions.kt b/app/src/main/java/com/tommasoberlose/anotherwidget/utils/Extensions.kt index 12ca1d9..cac6b43 100644 --- a/app/src/main/java/com/tommasoberlose/anotherwidget/utils/Extensions.kt +++ b/app/src/main/java/com/tommasoberlose/anotherwidget/utils/Extensions.kt @@ -221,4 +221,13 @@ fun Context.checkIfFitInstalled(): Boolean { } catch (e: Exception) { false } +} + +fun Intent.isDefaultSet(context: Context): Boolean { + val pm = context.packageManager + return try { + resolveActivity(pm) != null && resolveActivity(pm).packageName.isNotBlank() + } catch (ex: java.lang.Exception) { + false + } } \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 1b1cf1e..e32e3c4 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -206,4 +206,5 @@ This is a single developer project,\nso thank you for the support! Integrations %d installed integrations + Nothing \ No newline at end of file