diff --git a/TripKitAndroidUI/src/main/java/com/skedgo/tripkit/ui/dialog/TimeDatePickerFragment.kt b/TripKitAndroidUI/src/main/java/com/skedgo/tripkit/ui/dialog/TimeDatePickerFragment.kt index dfccc80b0..26679837c 100644 --- a/TripKitAndroidUI/src/main/java/com/skedgo/tripkit/ui/dialog/TimeDatePickerFragment.kt +++ b/TripKitAndroidUI/src/main/java/com/skedgo/tripkit/ui/dialog/TimeDatePickerFragment.kt @@ -1,11 +1,14 @@ package com.skedgo.tripkit.ui.dialog import android.app.Dialog +import android.graphics.drawable.ColorDrawable +import android.graphics.drawable.Drawable import android.os.Bundle import android.text.TextUtils import android.text.format.Time import android.view.View import android.view.View.OnClickListener +import androidx.core.content.ContextCompat import androidx.fragment.app.DialogFragment import com.jakewharton.rxrelay2.PublishRelay import com.skedgo.tripkit.ui.R @@ -13,6 +16,7 @@ import kankan.wheel.widget.WheelView import kankan.wheel.widget.adapters.ArrayWheelAdapter import kankan.wheel.widget.adapters.DaysAdapter import kankan.wheel.widget.adapters.NumericWheelAdapter +import java.lang.reflect.Field import java.util.Calendar class TimeDatePickerFragment : DialogFragment(), OnClickListener { @@ -113,9 +117,25 @@ class TimeDatePickerFragment : DialogFragment(), OnClickListener { mDaysView = view.findViewById(R.id.daysView) as WheelView val dayRange = 60 mDaysAdapter = DaysAdapter(this.activity, mCalendar, dayRange) + mDaysAdapter?.apply { + itemResource = R.layout.v4_view_wheel_time + itemTextResource = R.id.text + } mDaysView?.viewAdapter = mDaysAdapter mDaysView?.currentItem = (dayRange + 1) / 2 + // Set shadow drawables for dark mode support + setWheelViewShadows(mDaysView) + setWheelViewShadows(mHoursView) + setWheelViewShadows(mMinutesView) + setWheelViewShadows(mAmPmView) + + // Set center drawable and divider lines for dark mode support + setWheelViewCenterDrawable(mDaysView) + setWheelViewCenterDrawable(mHoursView) + setWheelViewCenterDrawable(mMinutesView) + setWheelViewCenterDrawable(mAmPmView) + return dialog } @@ -159,7 +179,77 @@ class TimeDatePickerFragment : DialogFragment(), OnClickListener { dismiss() } + /** + * Sets the top and bottom shadow drawables for a WheelView to support dark mode. + * Uses reflection to access private fields in the WheelView library. + */ + private fun setWheelViewShadows(wheelView: WheelView?) { + if (wheelView == null) return + + try { + val context = requireContext() + val topShadow = ContextCompat.getDrawable(context, R.drawable.top_shadow) + val bottomShadow = ContextCompat.getDrawable(context, R.drawable.bottom_shadow) + + if (topShadow == null || bottomShadow == null) return + + // Get shadow fields directly + val topShadowField = wheelView.javaClass.getDeclaredField(WHEEL_VIEW_FIELD_TOP_SHADOW) + topShadowField.isAccessible = true + + val bottomShadowField = wheelView.javaClass.getDeclaredField(WHEEL_VIEW_FIELD_BOTTOM_SHADOW) + bottomShadowField.isAccessible = true + + // Set the shadow drawables + topShadowField.set(wheelView, topShadow) + bottomShadowField.set(wheelView, bottomShadow) + + // Invalidate to refresh the view + wheelView.invalidate() + } catch (e: Exception) { + // Silently fail if reflection doesn't work (library might have changed) + e.printStackTrace() + } + } + + /** + * Sets the divider lines for a WheelView to support dark mode. + * Uses reflection to access private fields in the WheelView library. + */ + private fun setWheelViewCenterDrawable(wheelView: WheelView?) { + if (wheelView == null) return + + try { + val context = requireContext() + // Use @color/black which inverts to white in dark mode + val dividerColor = ContextCompat.getColor(context, R.color.black) + val lineDrawable = ColorDrawable(dividerColor) + + // Get line fields directly + val topLineField = wheelView.javaClass.getDeclaredField(WHEEL_VIEW_FIELD_TOP_LINE) + topLineField.isAccessible = true + + val bottomLineField = wheelView.javaClass.getDeclaredField(WHEEL_VIEW_FIELD_BOTTOM_LINE) + bottomLineField.isAccessible = true + + // Set the drawables + topLineField.set(wheelView, lineDrawable) + bottomLineField.set(wheelView, lineDrawable) + + // Invalidate to refresh the view + wheelView.invalidate() + } catch (e: Exception) { + // Silently fail if reflection doesn't work (library might have changed) + e.printStackTrace() + } + } + companion object { + // WheelView reflection field names + private const val WHEEL_VIEW_FIELD_TOP_SHADOW = "topShadow" + private const val WHEEL_VIEW_FIELD_BOTTOM_SHADOW = "bottomShadow" + private const val WHEEL_VIEW_FIELD_TOP_LINE = "topLine" + private const val WHEEL_VIEW_FIELD_BOTTOM_LINE = "bottomLine" private const val ARG_TIME_TYPE = "timeType" private const val ARG_INITIATOR_ID = "initiatorId" private const val ARG_INITIAL_TIME = "initialTimeInMillis" diff --git a/TripKitAndroidUI/src/main/java/com/skedgo/tripkit/ui/map/BearingMarkerIconBuilder.kt b/TripKitAndroidUI/src/main/java/com/skedgo/tripkit/ui/map/BearingMarkerIconBuilder.kt index cc4f9e66d..5bfcb8d3d 100644 --- a/TripKitAndroidUI/src/main/java/com/skedgo/tripkit/ui/map/BearingMarkerIconBuilder.kt +++ b/TripKitAndroidUI/src/main/java/com/skedgo/tripkit/ui/map/BearingMarkerIconBuilder.kt @@ -5,12 +5,16 @@ import android.graphics.Bitmap import android.graphics.Bitmap.Config.ARGB_8888 import android.graphics.BitmapFactory import android.graphics.Canvas +import android.graphics.Color +import android.graphics.ColorMatrix +import android.graphics.ColorMatrixColorFilter import android.graphics.Paint import android.graphics.drawable.Drawable import android.util.Pair import androidx.annotation.DrawableRes import androidx.core.content.ContextCompat import com.skedgo.tripkit.ui.R +import com.skedgo.tripkit.ui.utils.isDarkMode import kotlin.math.abs class BearingMarkerIconBuilder( @@ -160,10 +164,21 @@ class BearingMarkerIconBuilder( val canvas = Canvas(vehiclePointerPinBitmap) + // Apply dark mode tinting to base (make it darker for dark mode) + val basePaint = if (mContext.resources.isDarkMode()) { + Paint().apply { + colorFilter = createDarkenColorFilter() + isAntiAlias = true + isFilterBitmap = true + } + } else { + null + } + // Locate the base val baseLeft = (vehiclePointerBitmap.width - baseBitmap.width) / 2 val baseTop = vehiclePointerBitmap.height + padding - canvas.drawBitmap(baseBitmap, baseLeft.toFloat(), baseTop.toFloat(), null) + canvas.drawBitmap(baseBitmap, baseLeft.toFloat(), baseTop.toFloat(), basePaint) canvas.drawBitmap(vehiclePointerBitmap, 0f, 0f, null) return vehiclePointerPinBitmap @@ -179,6 +194,17 @@ class BearingMarkerIconBuilder( val canvas = Canvas(vehiclePointerBitmap) + // Apply dark mode tinting to pointer (make it darker for dark mode) + val paint = if (mContext.resources.isDarkMode()) { + Paint().apply { + colorFilter = createDarkenColorFilter() + isAntiAlias = true + isFilterBitmap = true + } + } else { + null + } + val rotateAngle = convertToCanvasAxes(mBearing) if (mHasBearing) { canvas.save() @@ -189,11 +215,11 @@ class BearingMarkerIconBuilder( (vehiclePointerBitmap.width / 2).toFloat(), (vehiclePointerBitmap.height / 2).toFloat() ) - canvas.drawBitmap(pointerBitmap, 0f, 0f, mRotationPaint) + canvas.drawBitmap(pointerBitmap, 0f, 0f, paint ?: mRotationPaint) canvas.restore() } else { - canvas.drawBitmap(pointerBitmap, 0f, 0f, null) + canvas.drawBitmap(pointerBitmap, 0f, 0f, paint) } pointerBitmap.recycle() @@ -265,4 +291,22 @@ class BearingMarkerIconBuilder( drawable.draw(canvas) return bitmap } + + /** + * Creates a ColorFilter that darkens white/light colors to medium-light gray for dark mode. + * This makes white pin markers visible on dark map backgrounds. + */ + private fun createDarkenColorFilter(): ColorMatrixColorFilter { + // Color matrix that converts white (#FFFFFF) to medium-light gray (#999999 / 60% gray) + // while preserving alpha channel + val colorMatrix = ColorMatrix( + floatArrayOf( + 0.6f, 0f, 0f, 0f, 0f, // Red channel: reduce to 60% (153/255) + 0f, 0.6f, 0f, 0f, 0f, // Green channel: reduce to 60% (153/255) + 0f, 0f, 0.6f, 0f, 0f, // Blue channel: reduce to 60% (153/255) + 0f, 0f, 0f, 1f, 0f // Alpha channel: keep as-is + ) + ) + return ColorMatrixColorFilter(colorMatrix) + } } \ No newline at end of file diff --git a/TripKitAndroidUI/src/main/java/com/skedgo/tripkit/ui/search/SuggestionViewModel.kt b/TripKitAndroidUI/src/main/java/com/skedgo/tripkit/ui/search/SuggestionViewModel.kt index eadc4af78..19ee6d89d 100644 --- a/TripKitAndroidUI/src/main/java/com/skedgo/tripkit/ui/search/SuggestionViewModel.kt +++ b/TripKitAndroidUI/src/main/java/com/skedgo/tripkit/ui/search/SuggestionViewModel.kt @@ -1,6 +1,7 @@ package com.skedgo.tripkit.ui.search import android.content.Context + import android.graphics.PorterDuff import android.graphics.drawable.Drawable import androidx.core.content.ContextCompat import androidx.databinding.ObservableField @@ -12,7 +13,7 @@ import com.skedgo.tripkit.ui.utils.TapAction import com.squareup.picasso.Picasso sealed class SuggestionViewModel( - context: Context, + protected val context: Context, val term: String? = null ) { val icon: ObservableField = ObservableField() @@ -32,6 +33,37 @@ sealed class SuggestionViewModel( abstract val onInfoClicked: TapAction abstract val onSuggestionActionClicked: TapAction + + /** + * Applies tint programmatically to icons for dark mode support. + * + * This approach is used because drawables are not uniform in format (some are PNGs which can't + * be easily themed with night-res) and not all can be supported with night-res theming. Some + * icons (like HOME and WORK) have circular backgrounds that would break if tinted, so we skip + * tinting for those. We'll audit and request proper night mode variants in the next dark mode + * support iteration. + */ + protected fun applyIconTintIfNeeded(drawable: Drawable?, id: Any?, locationType: Int?): Drawable? { + if (drawable == null) return null + + // Skip tinting for HOME and WORK icons (they have circular backgrounds that would break with tinting) + // Check ID first (for FixedSuggestions from either package), then fall back to location type + val isHomeOrWork = if (id is Enum<*>) { + val enumName = id.name + enumName == "HOME" || enumName == "WORK" + } else { + false + } || locationType == Location.TYPE_HOME || locationType == Location.TYPE_WORK + + if (isHomeOrWork) { + return drawable + } + + // Apply tint for all other icons + val tintColor = ContextCompat.getColor(context, R.color.icon_tint_default) + drawable.mutate().setColorFilter(tintColor, PorterDuff.Mode.SRC_IN) + return drawable + } } open class FixedSuggestionViewModel( @@ -54,7 +86,10 @@ open class FixedSuggestionViewModel( TapAction.create { this } init { - icon.set(suggestion.icon()) + val originalIcon = suggestion.icon() + val suggestionId = suggestion.id() + val locationType = suggestion.location()?.locationType + icon.set(applyIconTintIfNeeded(originalIcon, suggestionId, locationType)) } } @@ -217,13 +252,15 @@ class GoogleAndTripGoSuggestionViewModel( when { place.icon() != null -> { - icon.set(place.icon()) + val placeIcon = place.icon() + icon.set(applyIconTintIfNeeded(placeIcon, null, location.locationType)) } iconRes == 0 -> { icon.set(null) } else -> { - icon.set(ContextCompat.getDrawable(context, iconRes)) + val drawable = ContextCompat.getDrawable(context, iconRes) + icon.set(applyIconTintIfNeeded(drawable, null, location.locationType)) } } } diff --git a/TripKitAndroidUI/src/main/java/com/skedgo/tripkit/ui/tripresults/GetTransportIconTintStrategy.kt b/TripKitAndroidUI/src/main/java/com/skedgo/tripkit/ui/tripresults/GetTransportIconTintStrategy.kt index 9f7aa78ee..0687ba0ee 100644 --- a/TripKitAndroidUI/src/main/java/com/skedgo/tripkit/ui/tripresults/GetTransportIconTintStrategy.kt +++ b/TripKitAndroidUI/src/main/java/com/skedgo/tripkit/ui/tripresults/GetTransportIconTintStrategy.kt @@ -10,7 +10,7 @@ open class GetTransportIconTintStrategy @Inject constructor(private val resource Single.fromCallable { when (resources.getBoolean(R.bool.trip_kit_use_service_color)) { true -> ApplyTintStrategy - false -> NoTintStrategy + false -> ThemeAwareApplyTintStrategy(resources) } } } diff --git a/TripKitAndroidUI/src/main/java/com/skedgo/tripkit/ui/tripresults/ThemeAwareApplyTintStrategy.kt b/TripKitAndroidUI/src/main/java/com/skedgo/tripkit/ui/tripresults/ThemeAwareApplyTintStrategy.kt new file mode 100644 index 000000000..0f974b83b --- /dev/null +++ b/TripKitAndroidUI/src/main/java/com/skedgo/tripkit/ui/tripresults/ThemeAwareApplyTintStrategy.kt @@ -0,0 +1,35 @@ +package com.skedgo.tripkit.ui.tripresults + +import android.content.res.Resources +import android.graphics.Color +import android.graphics.drawable.Drawable +import com.skedgo.tripkit.ui.utils.isDarkMode +import com.skedgo.tripkit.ui.utils.tint +import com.skedgo.tripkit.routing.ServiceColor + +/** + * Theme-aware tint strategy that applies white tint in dark mode when service colors are disabled. + * In light mode, returns drawable as-is. In dark mode, tints to white for visibility. + */ +class ThemeAwareApplyTintStrategy(private val resources: Resources) : TransportTintStrategy { + + override fun apply( + remoteIconIsTemplate: Boolean, + remoteIconIsBranding: Boolean, + serviceColor: ServiceColor?, + drawable: Drawable + ): Drawable { + // Don't tint branding icons (like Beam) - they should show original logo colors + if (remoteIconIsBranding) { + return drawable + } + + if (resources.isDarkMode()) { + // Dark mode: tint to white for visibility + return drawable.tint(Color.WHITE) + } + // Light mode: return drawable as-is (no tint) + return drawable + } +} + diff --git a/TripKitAndroidUI/src/main/java/com/skedgo/tripkit/ui/utils/ResourcesExtensions.kt b/TripKitAndroidUI/src/main/java/com/skedgo/tripkit/ui/utils/ResourcesExtensions.kt new file mode 100644 index 000000000..f221331de --- /dev/null +++ b/TripKitAndroidUI/src/main/java/com/skedgo/tripkit/ui/utils/ResourcesExtensions.kt @@ -0,0 +1,13 @@ +package com.skedgo.tripkit.ui.utils + +import android.content.res.Configuration +import android.content.res.Resources + +/** + * Checks if the app is currently in dark mode. + */ +fun Resources.isDarkMode(): Boolean { + val nightModeFlags = configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK + return nightModeFlags == Configuration.UI_MODE_NIGHT_YES +} + diff --git a/TripKitAndroidUI/src/main/res/drawable-hdpi/bg_round_corners_white.xml b/TripKitAndroidUI/src/main/res/drawable-hdpi/bg_round_corners_white.xml index 7ad621b3e..6dfa1808b 100644 --- a/TripKitAndroidUI/src/main/res/drawable-hdpi/bg_round_corners_white.xml +++ b/TripKitAndroidUI/src/main/res/drawable-hdpi/bg_round_corners_white.xml @@ -3,7 +3,7 @@ - + diff --git a/TripKitAndroidUI/src/main/res/drawable-night/bottom_shadow.xml b/TripKitAndroidUI/src/main/res/drawable-night/bottom_shadow.xml new file mode 100644 index 000000000..ecad9ade7 --- /dev/null +++ b/TripKitAndroidUI/src/main/res/drawable-night/bottom_shadow.xml @@ -0,0 +1,8 @@ + + + + + diff --git a/TripKitAndroidUI/src/main/res/drawable-night/top_shadow.xml b/TripKitAndroidUI/src/main/res/drawable-night/top_shadow.xml new file mode 100644 index 000000000..b7c2d05e1 --- /dev/null +++ b/TripKitAndroidUI/src/main/res/drawable-night/top_shadow.xml @@ -0,0 +1,8 @@ + + + + + diff --git a/TripKitAndroidUI/src/main/res/drawable/back_green.xml b/TripKitAndroidUI/src/main/res/drawable/back_green.xml index 643d673b8..a6ed143cd 100644 --- a/TripKitAndroidUI/src/main/res/drawable/back_green.xml +++ b/TripKitAndroidUI/src/main/res/drawable/back_green.xml @@ -4,6 +4,6 @@ android:viewportHeight="24.0" android:viewportWidth="24.0"> diff --git a/TripKitAndroidUI/src/main/res/drawable/bg_custom_progress.xml b/TripKitAndroidUI/src/main/res/drawable/bg_custom_progress.xml index 674445831..25ef62cd9 100644 --- a/TripKitAndroidUI/src/main/res/drawable/bg_custom_progress.xml +++ b/TripKitAndroidUI/src/main/res/drawable/bg_custom_progress.xml @@ -3,14 +3,14 @@ - + - + diff --git a/TripKitAndroidUI/src/main/res/drawable/bg_round_bottom_rect_white.xml b/TripKitAndroidUI/src/main/res/drawable/bg_round_bottom_rect_white.xml index 094477090..7d0e589b8 100644 --- a/TripKitAndroidUI/src/main/res/drawable/bg_round_bottom_rect_white.xml +++ b/TripKitAndroidUI/src/main/res/drawable/bg_round_bottom_rect_white.xml @@ -2,7 +2,7 @@ - + - + diff --git a/TripKitAndroidUI/src/main/res/drawable/bg_round_corner_light_grey.xml b/TripKitAndroidUI/src/main/res/drawable/bg_round_corner_light_grey.xml index e4f81053d..a80a6debd 100644 --- a/TripKitAndroidUI/src/main/res/drawable/bg_round_corner_light_grey.xml +++ b/TripKitAndroidUI/src/main/res/drawable/bg_round_corner_light_grey.xml @@ -3,7 +3,7 @@ - + diff --git a/TripKitAndroidUI/src/main/res/drawable/bg_round_rect_lt_grey.xml b/TripKitAndroidUI/src/main/res/drawable/bg_round_rect_lt_grey.xml index 158611d99..01d05bdd4 100644 --- a/TripKitAndroidUI/src/main/res/drawable/bg_round_rect_lt_grey.xml +++ b/TripKitAndroidUI/src/main/res/drawable/bg_round_rect_lt_grey.xml @@ -2,7 +2,7 @@ - + diff --git a/TripKitAndroidUI/src/main/res/drawable/bg_round_top_rect_white.xml b/TripKitAndroidUI/src/main/res/drawable/bg_round_top_rect_white.xml index 5217bfec7..79fd9cd72 100644 --- a/TripKitAndroidUI/src/main/res/drawable/bg_round_top_rect_white.xml +++ b/TripKitAndroidUI/src/main/res/drawable/bg_round_top_rect_white.xml @@ -2,7 +2,7 @@ - + - + diff --git a/TripKitAndroidUI/src/main/res/drawable/bottom_shadow.xml b/TripKitAndroidUI/src/main/res/drawable/bottom_shadow.xml new file mode 100644 index 000000000..45b63335e --- /dev/null +++ b/TripKitAndroidUI/src/main/res/drawable/bottom_shadow.xml @@ -0,0 +1,8 @@ + + + + + diff --git a/TripKitAndroidUI/src/main/res/drawable/chevron_down.xml b/TripKitAndroidUI/src/main/res/drawable/chevron_down.xml index 879974ed6..d05200e77 100644 --- a/TripKitAndroidUI/src/main/res/drawable/chevron_down.xml +++ b/TripKitAndroidUI/src/main/res/drawable/chevron_down.xml @@ -5,6 +5,6 @@ android:viewportWidth="24" android:viewportHeight="24"> \ No newline at end of file diff --git a/TripKitAndroidUI/src/main/res/drawable/chevron_right.xml b/TripKitAndroidUI/src/main/res/drawable/chevron_right.xml index 967f6040c..7081ed206 100644 --- a/TripKitAndroidUI/src/main/res/drawable/chevron_right.xml +++ b/TripKitAndroidUI/src/main/res/drawable/chevron_right.xml @@ -5,6 +5,6 @@ android:viewportWidth="24" android:viewportHeight="24"> \ No newline at end of file diff --git a/TripKitAndroidUI/src/main/res/drawable/close.xml b/TripKitAndroidUI/src/main/res/drawable/close.xml index 5c3134741..14c996306 100644 --- a/TripKitAndroidUI/src/main/res/drawable/close.xml +++ b/TripKitAndroidUI/src/main/res/drawable/close.xml @@ -5,6 +5,6 @@ android:viewportWidth="24" android:viewportHeight="24"> \ No newline at end of file diff --git a/TripKitAndroidUI/src/main/res/drawable/dots_vertical.xml b/TripKitAndroidUI/src/main/res/drawable/dots_vertical.xml index 3754d89a8..ef1faeec1 100644 --- a/TripKitAndroidUI/src/main/res/drawable/dots_vertical.xml +++ b/TripKitAndroidUI/src/main/res/drawable/dots_vertical.xml @@ -5,6 +5,6 @@ android:viewportWidth="24" android:viewportHeight="24"> \ No newline at end of file diff --git a/TripKitAndroidUI/src/main/res/drawable/ic_back_button.xml b/TripKitAndroidUI/src/main/res/drawable/ic_back_button.xml index 0db0801aa..f6fc721c1 100644 --- a/TripKitAndroidUI/src/main/res/drawable/ic_back_button.xml +++ b/TripKitAndroidUI/src/main/res/drawable/ic_back_button.xml @@ -5,6 +5,6 @@ android:viewportWidth="24" android:viewportHeight="24"> \ No newline at end of file diff --git a/TripKitAndroidUI/src/main/res/drawable/ic_nav_my_location.xml b/TripKitAndroidUI/src/main/res/drawable/ic_nav_my_location.xml index 08486a933..6a73aa0d7 100644 --- a/TripKitAndroidUI/src/main/res/drawable/ic_nav_my_location.xml +++ b/TripKitAndroidUI/src/main/res/drawable/ic_nav_my_location.xml @@ -5,6 +5,6 @@ android:viewportWidth="24" android:viewportHeight="24"> \ No newline at end of file diff --git a/TripKitAndroidUI/src/main/res/drawable/ic_pin.xml b/TripKitAndroidUI/src/main/res/drawable/ic_pin.xml index a7f73a644..994b5ff84 100644 --- a/TripKitAndroidUI/src/main/res/drawable/ic_pin.xml +++ b/TripKitAndroidUI/src/main/res/drawable/ic_pin.xml @@ -5,6 +5,6 @@ android:viewportHeight="24"> diff --git a/TripKitAndroidUI/src/main/res/drawable/location_search_input_box_background_selected.xml b/TripKitAndroidUI/src/main/res/drawable/location_search_input_box_background_selected.xml index 5ef4490a3..6a4ac593b 100644 --- a/TripKitAndroidUI/src/main/res/drawable/location_search_input_box_background_selected.xml +++ b/TripKitAndroidUI/src/main/res/drawable/location_search_input_box_background_selected.xml @@ -1,6 +1,6 @@ - + diff --git a/TripKitAndroidUI/src/main/res/drawable/location_search_input_box_background_unselected.xml b/TripKitAndroidUI/src/main/res/drawable/location_search_input_box_background_unselected.xml index fdad7825c..495ff2991 100644 --- a/TripKitAndroidUI/src/main/res/drawable/location_search_input_box_background_unselected.xml +++ b/TripKitAndroidUI/src/main/res/drawable/location_search_input_box_background_unselected.xml @@ -1,6 +1,6 @@ - + diff --git a/TripKitAndroidUI/src/main/res/drawable/route_input_edit_text_background.xml b/TripKitAndroidUI/src/main/res/drawable/route_input_edit_text_background.xml index 752b23004..171a64c20 100644 --- a/TripKitAndroidUI/src/main/res/drawable/route_input_edit_text_background.xml +++ b/TripKitAndroidUI/src/main/res/drawable/route_input_edit_text_background.xml @@ -2,14 +2,14 @@ - + - + diff --git a/TripKitAndroidUI/src/main/res/drawable/small_circle.xml b/TripKitAndroidUI/src/main/res/drawable/small_circle.xml index f2c2d8490..79e6af5d4 100644 --- a/TripKitAndroidUI/src/main/res/drawable/small_circle.xml +++ b/TripKitAndroidUI/src/main/res/drawable/small_circle.xml @@ -5,6 +5,6 @@ android:viewportWidth="24" android:viewportHeight="24"> \ No newline at end of file diff --git a/TripKitAndroidUI/src/main/res/drawable/swap_vertical.xml b/TripKitAndroidUI/src/main/res/drawable/swap_vertical.xml index 1be41dca3..25a238dae 100644 --- a/TripKitAndroidUI/src/main/res/drawable/swap_vertical.xml +++ b/TripKitAndroidUI/src/main/res/drawable/swap_vertical.xml @@ -5,6 +5,6 @@ android:viewportWidth="24" android:viewportHeight="24"> \ No newline at end of file diff --git a/TripKitAndroidUI/src/main/res/drawable/top_shadow.xml b/TripKitAndroidUI/src/main/res/drawable/top_shadow.xml new file mode 100644 index 000000000..ee652fdfb --- /dev/null +++ b/TripKitAndroidUI/src/main/res/drawable/top_shadow.xml @@ -0,0 +1,8 @@ + + + + + diff --git a/TripKitAndroidUI/src/main/res/drawable/trip_result_transport_mode_selector_background.xml b/TripKitAndroidUI/src/main/res/drawable/trip_result_transport_mode_selector_background.xml index 135120cd7..6655cb259 100644 --- a/TripKitAndroidUI/src/main/res/drawable/trip_result_transport_mode_selector_background.xml +++ b/TripKitAndroidUI/src/main/res/drawable/trip_result_transport_mode_selector_background.xml @@ -3,13 +3,12 @@ - + - - + \ No newline at end of file diff --git a/TripKitAndroidUI/src/main/res/layout/bike_share_info_window.xml b/TripKitAndroidUI/src/main/res/layout/bike_share_info_window.xml index 3b343115f..7dc2d0f2f 100644 --- a/TripKitAndroidUI/src/main/res/layout/bike_share_info_window.xml +++ b/TripKitAndroidUI/src/main/res/layout/bike_share_info_window.xml @@ -1,9 +1,9 @@ @@ -14,6 +14,7 @@ android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_marginBottom="8dp" + android:textColor="@android:color/black" android:textAppearance="@style/TextAppearance.AppCompat.Subhead" tools:text="Sydney Bike Share" /> @@ -35,6 +36,7 @@ android:layout_toRightOf="@id/bikeShareIcon" android:padding="8dp" android:text="@string/available_bikes" + android:textColor="@android:color/black" android:textAppearance="@style/TextAppearance.AppCompat.Medium" /> \ No newline at end of file diff --git a/TripKitAndroidUI/src/main/res/layout/dialog_generic_list.xml b/TripKitAndroidUI/src/main/res/layout/dialog_generic_list.xml index 855179c2b..8577c60fe 100644 --- a/TripKitAndroidUI/src/main/res/layout/dialog_generic_list.xml +++ b/TripKitAndroidUI/src/main/res/layout/dialog_generic_list.xml @@ -17,7 +17,7 @@ + android:background="@color/white"> diff --git a/TripKitAndroidUI/src/main/res/layout/dialog_generic_list_old.xml b/TripKitAndroidUI/src/main/res/layout/dialog_generic_list_old.xml index 36e784e81..6573193c9 100644 --- a/TripKitAndroidUI/src/main/res/layout/dialog_generic_list_old.xml +++ b/TripKitAndroidUI/src/main/res/layout/dialog_generic_list_old.xml @@ -4,7 +4,7 @@ + android:background="@color/white"> + android:background="@color/white" /> diff --git a/TripKitAndroidUI/src/main/res/layout/dialog_update.xml b/TripKitAndroidUI/src/main/res/layout/dialog_update.xml index 7f1fcf78f..e7d7594af 100644 --- a/TripKitAndroidUI/src/main/res/layout/dialog_update.xml +++ b/TripKitAndroidUI/src/main/res/layout/dialog_update.xml @@ -34,7 +34,7 @@ android:enabled="false" android:gravity="center" android:text="@string/str_updating" - android:textColor="@android:color/black" /> + android:textColor="@color/black" /> diff --git a/TripKitAndroidUI/src/main/res/layout/fragment_generic_note.xml b/TripKitAndroidUI/src/main/res/layout/fragment_generic_note.xml index 8c438500b..c689b338f 100644 --- a/TripKitAndroidUI/src/main/res/layout/fragment_generic_note.xml +++ b/TripKitAndroidUI/src/main/res/layout/fragment_generic_note.xml @@ -6,7 +6,7 @@ + android:background="@color/white"> @@ -36,6 +36,7 @@ android:background="?attr/selectableItemBackgroundBorderless" android:contentDescription="@string/desc_close" android:src="@drawable/close" + app:tint="@color/icon_tint_default" app:layout_constraintBottom_toBottomOf="@+id/chooseText" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="@+id/chooseText" /> @@ -56,7 +57,8 @@ android:visibility="@{!viewModel.showSpinner}" app:layout_constraintStart_toStartOf="@id/chooseText" app:layout_constraintTop_toBottomOf="@id/chooseText" - app:srcCompat="@drawable/ic_search" /> + app:srcCompat="@drawable/ic_search" + app:tint="@color/icon_tint_default" /> + app:srcCompat="@drawable/ic_icon_info" + app:tint="@color/icon_tint_default" /> diff --git a/TripKitAndroidUI/src/main/res/layout/fragment_tkui_date_time_picker_dialog.xml b/TripKitAndroidUI/src/main/res/layout/fragment_tkui_date_time_picker_dialog.xml index 43db2c294..e15524d8f 100644 --- a/TripKitAndroidUI/src/main/res/layout/fragment_tkui_date_time_picker_dialog.xml +++ b/TripKitAndroidUI/src/main/res/layout/fragment_tkui_date_time_picker_dialog.xml @@ -154,7 +154,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:datePickerMode="spinner" - android:background="@android:color/white" + android:background="@color/white" android:spinnersShown="false" app:layout_constraintTop_toTopOf="parent" android:focusedMonthDateColor="@color/tripKitWarning" diff --git a/TripKitAndroidUI/src/main/res/layout/fragment_tkui_location_search_view_controller.xml b/TripKitAndroidUI/src/main/res/layout/fragment_tkui_location_search_view_controller.xml index bf3d6f1d9..5fefe50ba 100644 --- a/TripKitAndroidUI/src/main/res/layout/fragment_tkui_location_search_view_controller.xml +++ b/TripKitAndroidUI/src/main/res/layout/fragment_tkui_location_search_view_controller.xml @@ -13,7 +13,7 @@ diff --git a/TripKitAndroidUI/src/main/res/layout/fragment_tkui_route.xml b/TripKitAndroidUI/src/main/res/layout/fragment_tkui_route.xml index cce3e676e..5516b403a 100644 --- a/TripKitAndroidUI/src/main/res/layout/fragment_tkui_route.xml +++ b/TripKitAndroidUI/src/main/res/layout/fragment_tkui_route.xml @@ -16,7 +16,7 @@ android:focusable="false" android:importantForAccessibility="no" android:paddingTop="12dp" - android:background="@android:color/white" + android:background="@color/white" tools:context=".routing.RouteCardFragment"> @@ -41,7 +41,7 @@ android:enabled="false" android:gravity="center" android:text="@string/loading" - android:textColor="@android:color/black" /> + android:textColor="@color/black" /> diff --git a/TripKitAndroidUI/src/main/res/layout/fragment_tkui_trip_preview.xml b/TripKitAndroidUI/src/main/res/layout/fragment_tkui_trip_preview.xml index 695922210..6ecd6c016 100644 --- a/TripKitAndroidUI/src/main/res/layout/fragment_tkui_trip_preview.xml +++ b/TripKitAndroidUI/src/main/res/layout/fragment_tkui_trip_preview.xml @@ -11,7 +11,7 @@ android:id="@+id/vpTripPreview" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@android:color/white" + android:background="@color/white" android:focusable="false" android:importantForAccessibility="no" /> diff --git a/TripKitAndroidUI/src/main/res/layout/fragment_tkui_trip_results.xml b/TripKitAndroidUI/src/main/res/layout/fragment_tkui_trip_results.xml index 5aa4b3ff7..5084fd9a7 100644 --- a/TripKitAndroidUI/src/main/res/layout/fragment_tkui_trip_results.xml +++ b/TripKitAndroidUI/src/main/res/layout/fragment_tkui_trip_results.xml @@ -4,7 +4,7 @@ diff --git a/TripKitAndroidUI/src/main/res/layout/free_floating_vehicle_info_window.xml b/TripKitAndroidUI/src/main/res/layout/free_floating_vehicle_info_window.xml index f62163d5a..e906474a2 100644 --- a/TripKitAndroidUI/src/main/res/layout/free_floating_vehicle_info_window.xml +++ b/TripKitAndroidUI/src/main/res/layout/free_floating_vehicle_info_window.xml @@ -4,7 +4,6 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:background="@android:color/white" android:padding="8dp" tools:ignore="UnusedAttribute"> @@ -13,6 +12,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="8dp" + android:textColor="@android:color/black" android:textAppearance="@style/TextAppearance.AppCompat.Subhead" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" @@ -25,6 +25,7 @@ android:drawablePadding="@dimen/spacing_small" android:padding="8dp" android:text="@string/kickscooter" + android:textColor="@android:color/black" android:textAppearance="@style/TextAppearance.AppCompat.Medium" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/operatorName" /> @@ -38,6 +39,7 @@ android:gravity="center" android:paddingLeft="8dp" android:paddingRight="8dp" + android:textColor="@android:color/black" android:textAppearance="@style/TextAppearance.AppCompat.Medium" app:layout_constraintBottom_toBottomOf="@+id/type" app:layout_constraintStart_toEndOf="@+id/type" @@ -52,6 +54,7 @@ android:drawablePadding="@dimen/spacing_small" android:padding="8dp" android:text="@string/battery" + android:textColor="@android:color/black" android:textAppearance="@style/TextAppearance.AppCompat.Medium" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/type" /> @@ -65,6 +68,7 @@ android:gravity="center" android:paddingLeft="8dp" android:paddingRight="8dp" + android:textColor="@android:color/black" android:textAppearance="@style/TextAppearance.AppCompat.Medium" app:layout_constraintBottom_toBottomOf="@+id/batteryLevelText" app:layout_constraintStart_toEndOf="@+id/batteryLevelText" diff --git a/TripKitAndroidUI/src/main/res/layout/item_drt.xml b/TripKitAndroidUI/src/main/res/layout/item_drt.xml index ff254bf7e..fea26fc3f 100644 --- a/TripKitAndroidUI/src/main/res/layout/item_drt.xml +++ b/TripKitAndroidUI/src/main/res/layout/item_drt.xml @@ -67,7 +67,7 @@ android:paddingHorizontal="@dimen/spacing_small" android:text="@string/lbl_required" android:textAlignment="center" - android:textColor="@color/grey3" + android:textColor="@android:color/white" android:textSize="@dimen/font_size_small" android:visibility="@{viewModel.required && !viewModel.viewMode}" app:layout_constraintBottom_toBottomOf="@+id/itemDrt_tvLabel" @@ -143,7 +143,7 @@ diff --git a/TripKitAndroidUI/src/main/res/layout/item_trip_segment_summary.xml b/TripKitAndroidUI/src/main/res/layout/item_trip_segment_summary.xml index 141886853..1b87330a2 100644 --- a/TripKitAndroidUI/src/main/res/layout/item_trip_segment_summary.xml +++ b/TripKitAndroidUI/src/main/res/layout/item_trip_segment_summary.xml @@ -21,13 +21,14 @@ android:layout_width="@dimen/close_button_size" android:layout_height="@dimen/close_button_size" android:src="@{viewModel.icon}" + app:tint="@color/black" app:customImageTint="@{viewModel.selected? @color/colorPrimary : 0}" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:mirrorImage="@{viewModel.isMirrored()}" tools:src="@drawable/ic_train" - tools:tint="@color/colorPrimary" /> + tools:tint="@color/black" /> + app:tint="@color/icon_tint_default" /> diff --git a/TripKitAndroidUI/src/main/res/layout/location_search.xml b/TripKitAndroidUI/src/main/res/layout/location_search.xml index fe6a8c157..5fb3ef3f8 100644 --- a/TripKitAndroidUI/src/main/res/layout/location_search.xml +++ b/TripKitAndroidUI/src/main/res/layout/location_search.xml @@ -14,7 +14,7 @@ + android:src="@drawable/ic_googleresult" + app:tint="@android:color/white" /> @@ -26,6 +27,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@{viewModel.iconSrc}" + app:tint="@color/icon_tint_default" tools:src="@drawable/ic_noconnection_big" /> diff --git a/TripKitAndroidUI/src/main/res/layout/location_search_input_box.xml b/TripKitAndroidUI/src/main/res/layout/location_search_input_box.xml index 765afdb87..50c87bc1d 100644 --- a/TripKitAndroidUI/src/main/res/layout/location_search_input_box.xml +++ b/TripKitAndroidUI/src/main/res/layout/location_search_input_box.xml @@ -22,7 +22,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="@dimen/spacing_small" - app:cardBackgroundColor="@android:color/white" + app:cardBackgroundColor="@color/white" app:cardElevation="0dp"> @@ -12,6 +11,7 @@ android:id="@+id/txtTitle" android:layout_width="wrap_content" android:layout_height="wrap_content" + android:textColor="@android:color/black" android:textAppearance="@style/TextAppearance.AppCompat.Subhead" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" @@ -22,6 +22,7 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:text="@string/available_bikes" + android:textColor="@android:color/black" android:textAppearance="@style/TextAppearance.AppCompat.Caption" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="@id/txtTitle" diff --git a/TripKitAndroidUI/src/main/res/layout/map_settings_button.xml b/TripKitAndroidUI/src/main/res/layout/map_settings_button.xml index 0241802ed..4c9268e20 100644 --- a/TripKitAndroidUI/src/main/res/layout/map_settings_button.xml +++ b/TripKitAndroidUI/src/main/res/layout/map_settings_button.xml @@ -4,7 +4,7 @@ android:layout_height="40dp" android:layout_gravity="top|end" android:layout_margin="16dp" - app:backgroundTint="@android:color/white" + app:backgroundTint="@color/white" app:iconTint="@color/black" style="@style/Widget.MaterialComponents.Button.Icon" app:icon="@drawable/ic_person" diff --git a/TripKitAndroidUI/src/main/res/layout/poi_details_fragment.xml b/TripKitAndroidUI/src/main/res/layout/poi_details_fragment.xml index bda7f7eba..40e7e2b27 100644 --- a/TripKitAndroidUI/src/main/res/layout/poi_details_fragment.xml +++ b/TripKitAndroidUI/src/main/res/layout/poi_details_fragment.xml @@ -17,7 +17,7 @@ + android:background="@color/white"> @@ -42,7 +42,7 @@ android:layout_width="14dp" android:layout_height="14dp" android:src="@drawable/dots_vertical" - android:tint="@color/black4" + app:tint="@color/black4" app:layout_constraintBottom_toBottomOf="@+id/swap" app:layout_constraintEnd_toEndOf="@+id/navigationIcon" app:layout_constraintStart_toStartOf="@+id/navigationIcon" @@ -52,7 +52,7 @@ android:layout_width="10dp" android:layout_height="10dp" android:src="@drawable/small_circle" - android:tint="@color/black4" + app:tint="@color/black4" app:layout_constraintBottom_toBottomOf="@+id/destEdit" app:layout_constraintEnd_toEndOf="@+id/dots" app:layout_constraintStart_toStartOf="@+id/dots" diff --git a/TripKitAndroidUI/src/main/res/layout/service_detail_fragment.xml b/TripKitAndroidUI/src/main/res/layout/service_detail_fragment.xml index e638bfa62..3e50896ba 100644 --- a/TripKitAndroidUI/src/main/res/layout/service_detail_fragment.xml +++ b/TripKitAndroidUI/src/main/res/layout/service_detail_fragment.xml @@ -18,7 +18,7 @@ + android:background="@color/white"> + app:srcCompat="@{viewModel.modeInfo}" + app:tint="@color/black2" /> + app:layout_constraintTop_toTopOf="@id/wheelchair" + app:tint="@color/black2" /> + app:srcCompat="@{viewModel.modeInfo}" + app:tint="@color/black2" /> + app:srcCompat="@drawable/ic_action_warning" + app:tint="@color/tripKitWarning" /> + app:addRtlSupport="@{true}" + app:tint="@{viewModel.wheelchairTint}" /> + app:layout_constraintEnd_toEndOf="parent" + app:tint="@color/black" /> - + @@ -15,6 +16,6 @@ android:scaleType="fitXY" android:paddingRight="2dp" android:src="@{occupancy.imageDrawable}" - android:tint="@{occupancy.imageTintColor}" /> + app:tint="@{occupancy.imageTintColor}" /> \ No newline at end of file diff --git a/TripKitAndroidUI/src/main/res/layout/trip_preview_external_action_pager_list_item.xml b/TripKitAndroidUI/src/main/res/layout/trip_preview_external_action_pager_list_item.xml index 66a8ffa55..952243b01 100644 --- a/TripKitAndroidUI/src/main/res/layout/trip_preview_external_action_pager_list_item.xml +++ b/TripKitAndroidUI/src/main/res/layout/trip_preview_external_action_pager_list_item.xml @@ -45,14 +45,13 @@ android:layout_height="@dimen/map_icon_size" android:layout_marginStart="@dimen/spacing_small" android:src="@{viewModel.externalAction.drawable}" - android:tint="@android:color/black" android:visibility="@{parentViewModel.enableActionButtons? View.VISIBLE: View.INVISIBLE}" app:layout_constraintBottom_toBottomOf="@+id/tvAction" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="@+id/tvAction" - app:tint="@android:color/black" + app:tint="@color/black" tools:elevation="10dp" - tools:ignore="ContentDescription,UseAppTint" + tools:ignore="ContentDescription" tools:src="@drawable/ic_go" /> diff --git a/TripKitAndroidUI/src/main/res/layout/trip_preview_pager_item_header.xml b/TripKitAndroidUI/src/main/res/layout/trip_preview_pager_item_header.xml index 45048c4cd..2117d1b6c 100644 --- a/TripKitAndroidUI/src/main/res/layout/trip_preview_pager_item_header.xml +++ b/TripKitAndroidUI/src/main/res/layout/trip_preview_pager_item_header.xml @@ -19,6 +19,7 @@ android:layout_marginTop="@dimen/spacing_normal" android:layout_marginStart="16dp" android:src="@{viewModel.icon}" + app:tint="@color/black" app:layout_constraintBottom_toBottomOf="@+id/textBarrier" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> diff --git a/TripKitAndroidUI/src/main/res/layout/trip_preview_pager_mode_location_item.xml b/TripKitAndroidUI/src/main/res/layout/trip_preview_pager_mode_location_item.xml index 2d6a97897..dcef5ae6d 100644 --- a/TripKitAndroidUI/src/main/res/layout/trip_preview_pager_mode_location_item.xml +++ b/TripKitAndroidUI/src/main/res/layout/trip_preview_pager_mode_location_item.xml @@ -114,16 +114,17 @@ app:layout_constraintStart_toStartOf="@+id/divider" app:layout_constraintTop_toBottomOf="@+id/divider" /> - + - + - + + android:src="@{viewModel.icon}" + app:tint="@color/icon_tint_default" /> + app:layout_constraintBottom_toBottomOf="parent" + app:tint="@color/icon_tint_default" /> - + @@ -17,6 +18,7 @@ android:background="@drawable/trip_result_transport_mode_selector_background" android:src="@{viewModel.modeIconId}" android:onClick="@{viewModel::onItemClick}" - android:checked="@{viewModel.checked}" /> + android:checked="@{viewModel.checked}" + app:tint="@color/black" /> \ No newline at end of file diff --git a/TripKitAndroidUI/src/main/res/layout/trip_preview_service_item.xml b/TripKitAndroidUI/src/main/res/layout/trip_preview_service_item.xml index 9d3a27844..85d4373ef 100644 --- a/TripKitAndroidUI/src/main/res/layout/trip_preview_service_item.xml +++ b/TripKitAndroidUI/src/main/res/layout/trip_preview_service_item.xml @@ -14,7 +14,7 @@ + android:background="@color/white"> + app:layout_constraintTop_toTopOf="@id/wheelchair" + app:tint="@color/black2" /> + app:srcCompat="@drawable/chevron_right" + app:tint="@color/colorPrimary" /> @@ -122,7 +122,7 @@ android:paddingTop="@dimen/spacing_large" android:paddingBottom="@dimen/spacing_small" android:paddingHorizontal="@dimen/spacing_small" - android:background="@android:color/white" + android:background="@color/white" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/clLocations"> @@ -216,7 +216,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="@dimen/content_padding" - android:background="@android:color/white" + android:background="@color/white" android:layout_marginTop="@dimen/spacing_extra_small" android:focusable="true" android:clickable="true" diff --git a/TripKitAndroidUI/src/main/res/layout/trip_result_list_item.xml b/TripKitAndroidUI/src/main/res/layout/trip_result_list_item.xml index 87cbd449f..70e27ed83 100644 --- a/TripKitAndroidUI/src/main/res/layout/trip_result_list_item.xml +++ b/TripKitAndroidUI/src/main/res/layout/trip_result_list_item.xml @@ -44,6 +44,7 @@ android:layout_marginBottom="10dp" android:layoutDirection="ltr" android:src="@{viewModel.badgeDrawable}" + app:tint="@color/icon_tint_default" android:visibility="@{viewModel.badgeVisible}" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" diff --git a/TripKitAndroidUI/src/main/res/layout/trip_result_pager.xml b/TripKitAndroidUI/src/main/res/layout/trip_result_pager.xml index b8a1a3361..1f7d76e4a 100644 --- a/TripKitAndroidUI/src/main/res/layout/trip_result_pager.xml +++ b/TripKitAndroidUI/src/main/res/layout/trip_result_pager.xml @@ -17,7 +17,7 @@ android:id="@+id/tripGroupsPager" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@android:color/white" + android:background="@color/white" app:currentItem="@{viewModel.currentPage}" /> diff --git a/TripKitAndroidUI/src/main/res/layout/trip_result_segment_item.xml b/TripKitAndroidUI/src/main/res/layout/trip_result_segment_item.xml index 2b34bf28e..4cfb4f720 100644 --- a/TripKitAndroidUI/src/main/res/layout/trip_result_segment_item.xml +++ b/TripKitAndroidUI/src/main/res/layout/trip_result_segment_item.xml @@ -86,6 +86,7 @@ android:layoutDirection="locale" android:rotation="45" android:src="@drawable/ic_wifi" + app:tint="@color/icon_tint_default" android:visibility="@{viewModel.isRealtime()}" app:isDisabled="@{viewModel.isCancelled()}" app:layout_constraintBottom_toBottomOf="@+id/secondary" @@ -97,6 +98,7 @@ android:layoutDirection="locale" android:layout_marginStart="@dimen/spacing_extra_small" android:src="@drawable/ic_bike" + app:tint="@color/icon_tint_default" android:visibility="@{viewModel.isBicycleAccessible()}" app:isDisabled="@{viewModel.isCancelled()}" app:layout_constraintBottom_toBottomOf="@+id/secondary" diff --git a/TripKitAndroidUI/src/main/res/layout/trip_segment.xml b/TripKitAndroidUI/src/main/res/layout/trip_segment.xml index b843a2bfc..3ec64cfd1 100644 --- a/TripKitAndroidUI/src/main/res/layout/trip_segment.xml +++ b/TripKitAndroidUI/src/main/res/layout/trip_segment.xml @@ -14,7 +14,7 @@ android:id="@+id/layoutDetails" android:layout_width="match_parent" android:layout_height="wrap_content" - android:background="@android:color/white" + android:background="@color/white" android:onClick="@{() -> viewModel.onClick.perform()}" android:paddingStart="16dp" app:layout_constraintTop_toTopOf="parent"> @@ -63,7 +63,7 @@ android:layout_width="@dimen/segment_item_icon_background_size" android:layout_height="@dimen/segment_item_icon_background_size" android:src="@drawable/black_circle" - android:tint="@{viewModel.backgroundCircleTint}" + app:tint="@{viewModel.backgroundCircleTint}" android:visibility="@{viewModel.showBackgroundCircle}" app:layout_constraintBottom_toBottomOf="@+id/line" app:layout_constraintEnd_toStartOf="@+id/leftGuide" @@ -122,6 +122,7 @@ android:layout_height="@dimen/segment_item_icon_size" android:layoutDirection="ltr" android:src="@{viewModel.icon}" + app:tint="@android:color/white" tools:src="@drawable/ic_train" tools:tint="@android:color/white" /> diff --git a/TripKitAndroidUI/src/main/res/layout/trip_segment_alert_details_bottom_sheet.xml b/TripKitAndroidUI/src/main/res/layout/trip_segment_alert_details_bottom_sheet.xml index 73bda8686..8398d52a4 100644 --- a/TripKitAndroidUI/src/main/res/layout/trip_segment_alert_details_bottom_sheet.xml +++ b/TripKitAndroidUI/src/main/res/layout/trip_segment_alert_details_bottom_sheet.xml @@ -30,6 +30,7 @@ android:layout_height="24dp" android:id="@+id/closeButton" android:src="@drawable/close" + app:tint="@color/icon_tint_default" android:contentDescription="@string/desc_close" android:background="?attr/selectableItemBackgroundBorderless" android:layout_marginEnd="16dp" diff --git a/TripKitAndroidUI/src/main/res/layout/trip_segment_alert_details_item.xml b/TripKitAndroidUI/src/main/res/layout/trip_segment_alert_details_item.xml index 94fee5112..28aa7d9bd 100644 --- a/TripKitAndroidUI/src/main/res/layout/trip_segment_alert_details_item.xml +++ b/TripKitAndroidUI/src/main/res/layout/trip_segment_alert_details_item.xml @@ -20,7 +20,7 @@ android:layout_width="24dp" android:layout_height="24dp" android:src="@drawable/ic_action_warning" - android:tint="@color/tripKitWarning" + app:tint="@color/tripKitWarning" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> diff --git a/TripKitAndroidUI/src/main/res/layout/trip_segment_list_fragment.xml b/TripKitAndroidUI/src/main/res/layout/trip_segment_list_fragment.xml index de381a886..710e2fb08 100644 --- a/TripKitAndroidUI/src/main/res/layout/trip_segment_list_fragment.xml +++ b/TripKitAndroidUI/src/main/res/layout/trip_segment_list_fragment.xml @@ -13,7 +13,7 @@ @@ -42,6 +42,7 @@ android:background="?attr/selectableItemBackgroundBorderless" android:contentDescription="@string/desc_close" android:src="@drawable/close" + app:tint="@color/icon_tint_default" android:visibility="@{viewModel.showCloseButton}" app:layout_constraintBottom_toBottomOf="@+id/duration" app:layout_constraintEnd_toEndOf="parent" diff --git a/TripKitAndroidUI/src/main/res/layout/view_generic_list_item.xml b/TripKitAndroidUI/src/main/res/layout/view_generic_list_item.xml index a718ebba9..97c61ad48 100644 --- a/TripKitAndroidUI/src/main/res/layout/view_generic_list_item.xml +++ b/TripKitAndroidUI/src/main/res/layout/view_generic_list_item.xml @@ -42,6 +42,7 @@ android:layout_height="@dimen/icon_medium" android:padding="10dp" android:src="@drawable/ic_plain_check" + app:tint="@color/colorPrimary" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" diff --git a/TripKitAndroidUI/src/main/res/layout/view_my_location_button.xml b/TripKitAndroidUI/src/main/res/layout/view_my_location_button.xml index 56ef9d62f..a4ee7c171 100644 --- a/TripKitAndroidUI/src/main/res/layout/view_my_location_button.xml +++ b/TripKitAndroidUI/src/main/res/layout/view_my_location_button.xml @@ -5,8 +5,8 @@ android:layout_gravity="bottom|end" android:layout_marginRight="16dp" android:layout_marginBottom="88dp" - app:backgroundTint="@android:color/white" - app:iconTint="@color/black" + app:backgroundTint="@color/white" + app:iconTint="@color/icon_tint_default" style="@style/Widget.MaterialComponents.Button.Icon" app:icon="@drawable/ic_nav_my_location" app:iconSize="22dp" diff --git a/TripKitAndroidUI/src/main/res/layout/view_simple_callout.xml b/TripKitAndroidUI/src/main/res/layout/view_simple_callout.xml index ebc1fa5c9..d46c5fe6e 100644 --- a/TripKitAndroidUI/src/main/res/layout/view_simple_callout.xml +++ b/TripKitAndroidUI/src/main/res/layout/view_simple_callout.xml @@ -1,9 +1,11 @@ + android:gravity="center_vertical" + android:padding="8dp"> @@ -36,6 +38,7 @@ android:layout_height="wrap_content" android:ellipsize="marquee" android:singleLine="true" + android:textColor="@android:color/darker_gray" android:textSize="14sp" tools:text="Awesome place" /> diff --git a/TripKitAndroidUI/src/main/res/layout/viewholder_generic_list.xml b/TripKitAndroidUI/src/main/res/layout/viewholder_generic_list.xml index 264a19746..66e98e2c8 100644 --- a/TripKitAndroidUI/src/main/res/layout/viewholder_generic_list.xml +++ b/TripKitAndroidUI/src/main/res/layout/viewholder_generic_list.xml @@ -1,5 +1,6 @@ - + diff --git a/TripKitAndroidUI/src/main/res/raw-night/map_style.json b/TripKitAndroidUI/src/main/res/raw-night/map_style.json new file mode 100644 index 000000000..c5e0146ad --- /dev/null +++ b/TripKitAndroidUI/src/main/res/raw-night/map_style.json @@ -0,0 +1,126 @@ +[ + { + "featureType": "transit", + "elementType": "labels.icon", + "stylers": [ + { + "visibility": "off" + } + ] + }, + { + "featureType": "all", + "elementType": "geometry", + "stylers": [ + { + "color": "#242f3e" + } + ] + }, + { + "featureType": "water", + "elementType": "geometry", + "stylers": [ + { + "color": "#17263c" + } + ] + }, + { + "featureType": "landscape", + "elementType": "geometry", + "stylers": [ + { + "color": "#2a3f57" + } + ] + }, + { + "featureType": "road.highway", + "elementType": "geometry", + "stylers": [ + { + "color": "#3f546e" + } + ] + }, + { + "featureType": "road.arterial", + "elementType": "geometry", + "stylers": [ + { + "color": "#4a5f7a" + } + ] + }, + { + "featureType": "road.local", + "elementType": "geometry", + "stylers": [ + { + "color": "#5a6f8a" + } + ] + }, + { + "featureType": "all", + "elementType": "labels.text.fill", + "stylers": [ + { + "color": "#b0c4de" + }, + { + "lightness": 40 + } + ] + }, + { + "featureType": "all", + "elementType": "labels.text.stroke", + "stylers": [ + { + "color": "#1a2332" + }, + { + "lightness": 16 + } + ] + }, + { + "featureType": "poi", + "elementType": "geometry", + "stylers": [ + { + "color": "#2a3f57" + } + ] + }, + { + "featureType": "poi", + "elementType": "labels.text.fill", + "stylers": [ + { + "color": "#b0c4de" + } + ] + }, + { + "featureType": "administrative", + "elementType": "geometry", + "stylers": [ + { + "color": "#2a3f57" + } + ] + }, + { + "featureType": "administrative", + "elementType": "labels.text.fill", + "stylers": [ + { + "color": "#b0c4de" + } + ] + } +] + diff --git a/TripKitAndroidUI/src/main/res/values-night/colors.xml b/TripKitAndroidUI/src/main/res/values-night/colors.xml new file mode 100644 index 000000000..8e490cc10 --- /dev/null +++ b/TripKitAndroidUI/src/main/res/values-night/colors.xml @@ -0,0 +1,111 @@ + + + #2ECC71 + #0C6C58 + #5FAFFF + #332B7EED + #802B7EED + + + #23b15e + #212A33 + #FFFFFF + #99FFFFFF + #4DFFFFFF + #2EFFFFFF + #1FFFFFFF + #2B3A40 + #303840 + #353D45 + #3A444C + #30A548 + #E8AA27 + #D73737 + #99E8AA27 + #1FE8AA27 + #1FFFFFFF + #23b15e + #ff8d1b + #f5a300 + #00a88f + #e15b72 + #1880e7 + + + + + #303840 + #2A2F35 + + #5A8BFF + #305A8BFF + #1FAE65 + #7D7CC5 + #B26CB3 + #D4B815 + #D4C815 + #589FFF + #D89040 + #C44D3F + #5EABE0 + + + #23b15e + #CC212A33 + + #3C4A59 + #999999 + #AAAAAA + + #FFFFFF + #CCCCCC + + #23B15E + #FFB500 + #FF9600 + #E34040 + #FFFFFF + #80344E6D + + #FFFFFF + #00CC66 + #3A3A3A + #00CC66 + #00a653 + #A0A0A0 + + #4F9DD8 + #4A6A8B + #303840 + + #79C5FF + + #AC80F2 + #EE9EBE + #CCEBAF + #F7C1AC + #9EE2FA + + #1AFFFFFF + #2B3A40 + + #C47710 + + #FF2F74 + + #A0A0A0 + #FFFFFF + + #666666 + #33FF9999 + + #99CCCCCC + #60A6A6A6 + + + #E0E0E0 + + + #F5F5F5 + #AAFFFFFF + \ No newline at end of file diff --git a/TripKitAndroidUI/src/main/res/values/colors.xml b/TripKitAndroidUI/src/main/res/values/colors.xml index 558476921..67c1e32b2 100644 --- a/TripKitAndroidUI/src/main/res/values/colors.xml +++ b/TripKitAndroidUI/src/main/res/values/colors.xml @@ -8,6 +8,7 @@ #23b15e + #FFFFFF #212A33 #99212A33 #4D212A33 @@ -30,6 +31,10 @@ #e15b72 #1880e7 + + #F6F6F6 + #FFFFFF + #3467CE #703467CE #23B15E @@ -98,4 +103,11 @@ #FB2C36 #00C950 + + + #616161 + + + #FFFFFF + #1F212A33 \ No newline at end of file diff --git a/TripKitAndroidUI/src/main/res/values/styles.xml b/TripKitAndroidUI/src/main/res/values/styles.xml index 52df82be3..6740f87a4 100644 --- a/TripKitAndroidUI/src/main/res/values/styles.xml +++ b/TripKitAndroidUI/src/main/res/values/styles.xml @@ -1,6 +1,6 @@ - -