{-# LANGUAGE OverloadedStrings #-} module Tesla.Car.Command.Sharing (share) where import Control.Monad.IO.Class (MonadIO (..)) import Data.Aeson import Data.Text (Text) import Data.Time.Clock.POSIX (getCurrentTime, utcTimeToPOSIXSeconds) import Tesla.Car.Command share :: MonadIO m => Text -> Car m CommandResponse share to = do now <- fst . properFraction . utcTimeToPOSIXSeconds <$> liftIO getCurrentTime runCmd "share" $ object [ "type" .= ("share_ext_content_raw" :: Text), "value" .= object [ "android.intent.extra.TEXT" .= to ], "locale" .= ("en-US" :: Text), "timestamp_ms" .= (now * (1000::Int)) ]