Fix event tap ui
This commit is contained in:
parent
6279846cea
commit
dd450443c8
@ -40,6 +40,7 @@ object Preferences : KotprefModel() {
|
||||
var weatherProviderApi by stringPref(key = "PREF_WEATHER_PROVIDER_API_KEY", default = "")
|
||||
var eventAppName by stringPref(key = "PREF_EVENT_APP_NAME", default = "")
|
||||
var eventAppPackage by stringPref(key = "PREF_EVENT_APP_PACKAGE", default = "")
|
||||
var openEventDetails by booleanPref(default = true)
|
||||
var showEventLocation by stringPref(key = "PREF_SHOW_EVENT_LOCATION", default = "")
|
||||
var textGlobalColor by stringPref(key = "PREF_TEXT_COLOR", default = "#FFFFFF")
|
||||
var textMainSize by floatPref(key = "PREF_TEXT_MAIN_SIZE", default = 26f)
|
||||
@ -49,7 +50,7 @@ object Preferences : KotprefModel() {
|
||||
var showClock by booleanPref(key = "PREF_SHOW_CLOCK", default = false)
|
||||
var clockAppName by stringPref(key = "PREF_CLOCK_APP_NAME", default = "")
|
||||
var clockAppPackage by stringPref(key = "PREF_CLOCK_APP_PACKAGE", default = "")
|
||||
var showNextAlarm by booleanPref(default = true)
|
||||
var showNextAlarm by booleanPref(default = false)
|
||||
var textShadow by intPref(key = "PREF_TEXT_SHADOW", default = 1)
|
||||
var showDiffTime by booleanPref(key = "PREF_SHOW_DIFF_TIME")
|
||||
var showDeclinedEvents by booleanPref(key = "PREF_SHOW_DECLINED_EVENTS", default = true)
|
||||
|
@ -11,7 +11,7 @@ object AlarmHelper {
|
||||
val alarm = nextAlarmClock
|
||||
return if (
|
||||
alarm != null
|
||||
&& alarm.triggerTime - Calendar.getInstance().timeInMillis > 2 * 60 * 1000
|
||||
&& alarm.triggerTime - Calendar.getInstance().timeInMillis > 10 * 60 * 1000
|
||||
&& alarm.triggerTime - Calendar.getInstance().timeInMillis < 12 * 60 * 60 * 1000
|
||||
) {
|
||||
"%s %s".format(
|
||||
|
@ -30,35 +30,6 @@ object IntentHelper {
|
||||
}
|
||||
}
|
||||
|
||||
fun getCalendarIntent(context: Context): Intent {
|
||||
return when (Preferences.calendarAppPackage) {
|
||||
"" -> {
|
||||
Intent(Intent.ACTION_MAIN).apply {
|
||||
addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
|
||||
addCategory(Intent.CATEGORY_APP_CALENDAR)
|
||||
}
|
||||
}
|
||||
"_" -> {
|
||||
Intent()
|
||||
}
|
||||
else -> {
|
||||
val pm: PackageManager = context.packageManager
|
||||
try {
|
||||
pm.getLaunchIntentForPackage(Preferences.calendarAppPackage)!!.apply {
|
||||
addCategory(Intent.CATEGORY_LAUNCHER)
|
||||
addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
e.printStackTrace()
|
||||
Intent(Intent.ACTION_MAIN).apply {
|
||||
addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
|
||||
addCategory(Intent.CATEGORY_APP_CALENDAR)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun getWeatherIntent(context: Context): Intent {
|
||||
return when (Preferences.weatherAppPackage) {
|
||||
"" -> {
|
||||
@ -91,15 +62,12 @@ object IntentHelper {
|
||||
}
|
||||
}
|
||||
|
||||
fun getEventIntent(context: Context, e: Event): Intent {
|
||||
return when (Preferences.eventAppPackage) {
|
||||
fun getCalendarIntent(context: Context): Intent {
|
||||
return when (Preferences.calendarAppPackage) {
|
||||
"" -> {
|
||||
val uri = ContentUris.withAppendedId(Events.CONTENT_URI, e.eventID)
|
||||
Intent(Intent.ACTION_VIEW).apply {
|
||||
data = uri
|
||||
Intent(Intent.ACTION_MAIN).apply {
|
||||
addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
|
||||
putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME, e.startDate)
|
||||
putExtra(CalendarContract.EXTRA_EVENT_END_TIME, e.endDate)
|
||||
addCategory(Intent.CATEGORY_APP_CALENDAR)
|
||||
}
|
||||
}
|
||||
"_" -> {
|
||||
@ -107,26 +75,47 @@ object IntentHelper {
|
||||
}
|
||||
else -> {
|
||||
val pm: PackageManager = context.packageManager
|
||||
val uri = ContentUris.withAppendedId(Events.CONTENT_URI, e.eventID)
|
||||
try {
|
||||
pm.getLaunchIntentForPackage(Preferences.eventAppPackage)!!.apply {
|
||||
action = Intent.ACTION_VIEW
|
||||
data = uri
|
||||
pm.getLaunchIntentForPackage(Preferences.calendarAppPackage)!!.apply {
|
||||
addCategory(Intent.CATEGORY_LAUNCHER)
|
||||
// addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
|
||||
// putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME, e.startDate)
|
||||
// putExtra(CalendarContract.EXTRA_EVENT_END_TIME, e.endDate)
|
||||
addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
|
||||
}
|
||||
} catch (ex: Exception) {
|
||||
} catch (e: Exception) {
|
||||
e.printStackTrace()
|
||||
Intent(Intent.ACTION_MAIN).apply {
|
||||
addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
|
||||
addCategory(Intent.CATEGORY_APP_CALENDAR)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun getEventIntent(context: Context, e: Event, forceEventDetails: Boolean = false): Intent {
|
||||
return when (Preferences.openEventDetails || forceEventDetails) {
|
||||
true -> {
|
||||
val uri = ContentUris.withAppendedId(Events.CONTENT_URI, e.eventID)
|
||||
|
||||
if (Preferences.calendarAppPackage == "") {
|
||||
Intent(Intent.ACTION_VIEW).apply {
|
||||
data = uri
|
||||
addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
|
||||
putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME, e.startDate)
|
||||
putExtra(CalendarContract.EXTRA_EVENT_END_TIME, e.endDate)
|
||||
}
|
||||
} else {
|
||||
getCalendarIntent(context).apply {
|
||||
action = Intent.ACTION_VIEW
|
||||
data = uri
|
||||
putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME, e.startDate)
|
||||
putExtra(CalendarContract.EXTRA_EVENT_END_TIME, e.endDate)
|
||||
}
|
||||
}
|
||||
}
|
||||
false -> {
|
||||
getCalendarIntent(context)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun getClockIntent(context: Context): Intent {
|
||||
|
@ -147,9 +147,9 @@ class CalendarSettingsFragment : Fragment() {
|
||||
}
|
||||
})
|
||||
|
||||
viewModel.eventAppName.observe(viewLifecycleOwner, Observer {
|
||||
viewModel.openEventDetails.observe(viewLifecycleOwner, Observer {
|
||||
maintainScrollPosition {
|
||||
event_app_label.text = if (it != "") it else getString(R.string.default_calendar_app)
|
||||
open_event_details_label.text = if (it) getString(R.string.default_event_app) else getString(R.string.default_calendar_app)
|
||||
}
|
||||
})
|
||||
|
||||
@ -301,8 +301,15 @@ class CalendarSettingsFragment : Fragment() {
|
||||
}
|
||||
}
|
||||
|
||||
action_event_app.setOnClickListener {
|
||||
startActivityForResult(Intent(requireContext(), ChooseApplicationActivity::class.java), RequestCode.EVENT_APP_REQUEST_CODE.code)
|
||||
action_open_event_details.setOnClickListener {
|
||||
if (Preferences.showEvents) {
|
||||
BottomSheetMenu<Boolean>(requireContext(), header = getString(R.string.settings_event_app_title)).setSelectedValue(Preferences.openEventDetails)
|
||||
.addItem(getString(R.string.default_event_app), true)
|
||||
.addItem(getString(R.string.default_calendar_app), false)
|
||||
.addOnSelectItemListener { value ->
|
||||
Preferences.openEventDetails = value
|
||||
}.show()
|
||||
}
|
||||
}
|
||||
|
||||
action_calendar_app.setOnClickListener {
|
||||
|
@ -21,10 +21,9 @@ class MainViewModel : ViewModel() {
|
||||
val showDiffTime = Preferences.asLiveData(Preferences::showDiffTime)
|
||||
val showDeclinedEvents = Preferences.asLiveData(Preferences::showDeclinedEvents)
|
||||
val showNextEvent = Preferences.asLiveData(Preferences::showNextEvent)
|
||||
|
||||
val openEventDetails = Preferences.asLiveData(Preferences::openEventDetails)
|
||||
val calendarAppName = Preferences.asLiveData(Preferences::calendarAppName)
|
||||
|
||||
val eventAppName = Preferences.asLiveData(Preferences::eventAppName)
|
||||
|
||||
// Clock Settings
|
||||
val showClock = Preferences.asLiveData(Preferences::showClock)
|
||||
|
@ -156,7 +156,8 @@ class MainWidget : AppWidgetProvider() {
|
||||
val mapIntent = PendingIntent.getActivity(context, widgetID, IntentHelper.getGoogleMapsIntentFromAddress(context, nextEvent.address), 0)
|
||||
views.setOnClickPendingIntent(R.id.second_row_rect, mapIntent)
|
||||
} else {
|
||||
views.setOnClickPendingIntent(R.id.second_row_rect, pIntent)
|
||||
val pIntentDetail = PendingIntent.getActivity(context, widgetID, IntentHelper.getEventIntent(context, nextEvent, forceEventDetails = true), 0)
|
||||
views.setOnClickPendingIntent(R.id.second_row_rect, pIntentDetail)
|
||||
}
|
||||
|
||||
views.setImageViewBitmap(R.id.next_event_rect, BitmapHelper.getBitmapFromView(v.next_event, draw = false))
|
||||
|
@ -203,7 +203,7 @@
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="48dp"
|
||||
android:padding="12dp"
|
||||
android:src="@drawable/round_event_note"
|
||||
android:src="@drawable/round_code"
|
||||
android:tint="@color/colorPrimaryText"/>
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
@ -371,6 +371,43 @@
|
||||
style="@style/AnotherWidget.Settings.Subtitle"/>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingTop="16dp"
|
||||
android:paddingBottom="16dp"
|
||||
android:paddingLeft="8dp"
|
||||
android:paddingRight="8dp"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:background="?android:attr/selectableItemBackground"
|
||||
android:gravity="center_vertical"
|
||||
android:id="@+id/action_open_event_details"
|
||||
android:orientation="horizontal">
|
||||
<ImageView
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="48dp"
|
||||
android:padding="12dp"
|
||||
android:src="@drawable/round_event_note"
|
||||
android:tint="@color/colorPrimaryText"/>
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingLeft="8dp"
|
||||
android:paddingRight="8dp"
|
||||
android:orientation="vertical">
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
style="@style/AnotherWidget.Settings.Title"
|
||||
android:text="@string/settings_event_app_title"/>
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:id="@+id/open_event_details_label"
|
||||
style="@style/AnotherWidget.Settings.Subtitle"/>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
@ -408,43 +445,6 @@
|
||||
style="@style/AnotherWidget.Settings.Subtitle"/>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingTop="16dp"
|
||||
android:paddingBottom="16dp"
|
||||
android:paddingLeft="8dp"
|
||||
android:paddingRight="8dp"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:background="?android:attr/selectableItemBackground"
|
||||
android:gravity="center_vertical"
|
||||
android:id="@+id/action_event_app"
|
||||
android:orientation="horizontal">
|
||||
<ImageView
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="48dp"
|
||||
android:padding="12dp"
|
||||
android:src="@drawable/round_add_to_home_screen"
|
||||
android:tint="@color/colorPrimaryText"/>
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingLeft="8dp"
|
||||
android:paddingRight="8dp"
|
||||
android:orientation="vertical">
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
style="@style/AnotherWidget.Settings.Title"
|
||||
android:text="@string/settings_event_app_title"/>
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:id="@+id/event_app_label"
|
||||
style="@style/AnotherWidget.Settings.Subtitle"/>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
||||
|
@ -66,7 +66,7 @@
|
||||
<string name="error_opening_uri">Fehler beim Öffnen der URL: Link in die Zwischenablage kopiert.</string>
|
||||
<string name="loading_text">Daten werden geladen...</string>
|
||||
<string name="error_opening_app">Fehler beim Öffnen der App.</string>
|
||||
<string name="settings_calendar_app_title">Beim Klick auf\'s Datum öffnet sich</string>
|
||||
<string name="settings_calendar_app_title">Standard Kalender-App</string>
|
||||
<string name="settings_weather_app_title">Beim Klick auf\'s Wetter öffnet sich</string>
|
||||
<string name="default_name">Standardapp</string>
|
||||
<string name="action_choose_application">App wählen</string>
|
||||
@ -136,7 +136,7 @@
|
||||
<string name="settings_not_visible">Nicht sichtbar</string>
|
||||
<string name="settings_show_declined_events_title">Abgelehnte Ereignisse</string>
|
||||
<string name="default_weather_app">Google Wetter</string>
|
||||
<string name="default_event_app">Google Kalender Veranstalungsdetails</string>
|
||||
<string name="default_event_app">Veranstalungsdetails</string>
|
||||
<string name="default_calendar_app">Standard Kalender-App</string>
|
||||
<string name="default_clock_app">Standard Uhr-App</string>
|
||||
<string name="settings_show_until_subtitle_7">1 Stunde später</string>
|
||||
|
@ -60,7 +60,7 @@
|
||||
<string name="error_opening_uri">Erreur lors de l\'ouverture de l\'URL : Lien copié dans le presse-papiers.</string>
|
||||
<string name="loading_text">Chargement des données…</string>
|
||||
<string name="error_opening_app">Erreur lors de l\'ouverture de l\'app.</string>
|
||||
<string name="settings_calendar_app_title">Taper sur la date ouvre</string>
|
||||
<string name="settings_calendar_app_title">App calendrier par défaut</string>
|
||||
<string name="settings_weather_app_title">Taper sur la météo ouvre</string>
|
||||
<string name="default_name">App par défaut</string>
|
||||
<string name="action_choose_application">Choisir une application</string>
|
||||
@ -120,7 +120,7 @@
|
||||
<string name="settings_not_visible">Non visible</string>
|
||||
<string name="settings_show_declined_events_title">Événements refusés</string>
|
||||
<string name="default_weather_app">Google Weather</string>
|
||||
<string name="default_event_app">Détails de l\'événement dans Google Agenda</string>
|
||||
<string name="default_event_app">Détails de l\'événement</string>
|
||||
<string name="default_calendar_app">App calendrier par défaut</string>
|
||||
<string name="default_clock_app">App horloge par défaut</string>
|
||||
<string name="settings_show_until_subtitle_7">1 heure après</string>
|
||||
|
@ -61,7 +61,7 @@
|
||||
<string name="error_opening_uri">Errore apertura URL: Link copiato negli appunti.</string>
|
||||
<string name="loading_text">Caricamento…</string>
|
||||
<string name="error_opening_app">Errore apertura App.</string>
|
||||
<string name="settings_calendar_app_title">La data apre</string>
|
||||
<string name="settings_calendar_app_title">Applicazione predefinita calendario</string>
|
||||
<string name="settings_weather_app_title">Il meteo apre</string>
|
||||
<string name="default_name">App Predefinita</string>
|
||||
<string name="action_choose_application">Scegli Applicazione</string>
|
||||
@ -120,7 +120,7 @@
|
||||
<string name="settings_show_declined_events_title">Event Rifiutati</string>
|
||||
<string name="settings_visible">Visibile</string>
|
||||
<string name="settings_not_visible">Non Visibile</string>
|
||||
<string name="default_event_app">Dettagli Evento Google Calendar</string>
|
||||
<string name="default_event_app">Dettagli evento</string>
|
||||
<string name="default_calendar_app">App Calendario di Default</string>
|
||||
<string name="default_weather_app">Meteo Google</string>
|
||||
<string name="default_clock_app">App Orologio di Default</string>
|
||||
|
@ -66,7 +66,7 @@
|
||||
<string name="error_opening_uri">Error opening URL: Link copied to clipboard.</string>
|
||||
<string name="loading_text">Loading Data…</string>
|
||||
<string name="error_opening_app">Error opening app.</string>
|
||||
<string name="settings_calendar_app_title">Tap on date opens</string>
|
||||
<string name="settings_calendar_app_title">Calendar default application</string>
|
||||
<string name="settings_weather_app_title">Tap on weather opens</string>
|
||||
<string name="default_name">Default app</string>
|
||||
<string name="action_choose_application">Choose application</string>
|
||||
@ -130,7 +130,7 @@
|
||||
<string name="settings_not_visible">Hidden</string>
|
||||
<string name="settings_show_declined_events_title">Declined events</string>
|
||||
<string name="default_weather_app">Google Weather</string>
|
||||
<string name="default_event_app">Google Calendar event details</string>
|
||||
<string name="default_event_app">Event details</string>
|
||||
<string name="default_calendar_app">Default calendar app</string>
|
||||
<string name="default_clock_app">Default clock app</string>
|
||||
<string name="settings_show_until_subtitle_7">1 hour later</string>
|
||||
|
@ -3,7 +3,7 @@
|
||||
xmlns:dist="http://schemas.android.com/apk/distribution"
|
||||
featureSplit="tasksintegration"
|
||||
package="com.tommasoberlose.anotherwidget"
|
||||
android:versionCode="59"
|
||||
android:versionCode="60"
|
||||
android:versionName="2.0.5" >
|
||||
|
||||
<uses-sdk
|
||||
|
@ -1,4 +1,4 @@
|
||||
#Mon May 04 18:04:57 CEST 2020
|
||||
#Mon May 04 18:47:09 CEST 2020
|
||||
base.0=/Users/tommaso/Documents/MyCode/another-widget/tasksintegration/build/intermediates/dex/debug/mergeProjectDexDebug/out/classes.dex
|
||||
path.0=classes.dex
|
||||
renamed.0=classes.dex
|
||||
|
Binary file not shown.
@ -4,7 +4,7 @@
|
||||
featureSplit="tasksintegration"
|
||||
package="com.tommasoberlose.anotherwidget"
|
||||
android:targetSandboxVersion="2"
|
||||
android:versionCode="59"
|
||||
android:versionCode="60"
|
||||
android:versionName="2.0.5" >
|
||||
|
||||
<uses-sdk
|
||||
|
@ -3,7 +3,7 @@
|
||||
3 xmlns:dist="http://schemas.android.com/apk/distribution"
|
||||
4 featureSplit="tasksintegration"
|
||||
5 package="com.tommasoberlose.anotherwidget"
|
||||
6 android:versionCode="59"
|
||||
6 android:versionCode="60"
|
||||
7 android:versionName="2.0.5" >
|
||||
8
|
||||
9 <uses-sdk
|
||||
|
@ -3,7 +3,7 @@
|
||||
xmlns:dist="http://schemas.android.com/apk/distribution"
|
||||
featureSplit="tasksintegration"
|
||||
package="com.tommasoberlose.anotherwidget"
|
||||
android:versionCode="59"
|
||||
android:versionCode="60"
|
||||
android:versionName="2.0.5" >
|
||||
|
||||
<uses-sdk
|
||||
|
@ -3,7 +3,7 @@
|
||||
xmlns:dist="http://schemas.android.com/apk/distribution"
|
||||
featureSplit="tasksintegration"
|
||||
package="com.tommasoberlose.anotherwidget"
|
||||
android:versionCode="59"
|
||||
android:versionCode="60"
|
||||
android:versionName="2.0.5" >
|
||||
|
||||
<uses-sdk android:targetSdkVersion="29" />
|
||||
|
Loading…
x
Reference in New Issue
Block a user