Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9e35cbd1 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Send Weather SmartspaceAction Intent to Weather Clock" into udc-qpr-dev...

Merge "Send Weather SmartspaceAction Intent to Weather Clock" into udc-qpr-dev am: 05471614 am: b87745a8

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/23765926



Change-Id: I6c42a15b323bd56b5e8bc1bb256d7ba7f8319ba2
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents a658ddf1 b87745a8
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -2,14 +2,18 @@ package com.android.systemui.plugins

import android.os.Bundle
import android.util.Log
import android.view.View
import androidx.annotation.VisibleForTesting

typealias WeatherTouchAction = (View) -> Unit

class WeatherData
constructor(
    val description: String,
    val state: WeatherStateIcon,
    val useCelsius: Boolean,
    val temperature: Int,
    val touchAction: WeatherTouchAction? = null,
) {
    companion object {
        const val DEBUG = true
@@ -20,7 +24,7 @@ constructor(
        @VisibleForTesting const val TEMPERATURE_KEY = "temperature"
        private const val INVALID_WEATHER_ICON_STATE = -1

        fun fromBundle(extras: Bundle): WeatherData? {
        fun fromBundle(extras: Bundle, touchAction: WeatherTouchAction? = null): WeatherData? {
            val description = extras.getString(DESCRIPTION_KEY)
            val state =
                WeatherStateIcon.fromInt(extras.getInt(STATE_KEY, INVALID_WEATHER_ICON_STATE))
@@ -41,7 +45,8 @@ constructor(
                        description = description,
                        state = state,
                        useCelsius = extras.getBoolean(USE_CELSIUS_KEY),
                        temperature = temperature
                        temperature = temperature,
                        touchAction = touchAction
                    )
                if (DEBUG) {
                    Log.i(TAG, "Weather data parsed $result from $extras")
+10 −1
Original line number Diff line number Diff line
@@ -176,7 +176,16 @@ constructor(
                    now.isBefore(Instant.ofEpochMilli(t.expiryTimeMillis))
        }
        if (weatherTarget != null) {
            val weatherData = WeatherData.fromBundle(weatherTarget.baseAction.extras)
            val clickIntent = weatherTarget.headerAction?.intent
            val weatherData = WeatherData.fromBundle(weatherTarget.baseAction.extras, { v ->
                if (!falsingManager.isFalseTap(FalsingManager.LOW_PENALTY)) {
                    activityStarter.startActivity(
                        clickIntent,
                        true, /* dismissShade */
                        null,
                        false)
                }
            })
            if (weatherData != null) {
                keyguardUpdateMonitor.sendWeatherData(weatherData)
            }