From ffa68a78b63e3fa4fac232462a9f70b404c9baef Mon Sep 17 00:00:00 2001 From: hmalik144 Date: Sat, 8 May 2021 20:58:34 +0100 Subject: [PATCH] - All committed to main --- app/src/main/res/layout/weather_app_widget.xml | 10 +++++----- app/src/main/res/layout/widget_item.xml | 5 +++-- app/src/main/res/xml/new_app_widget_info.xml | 2 +- .../monoWeather/widget/WidgetJobServiceIntent.kt | 14 +++++++++++++- 4 files changed, 22 insertions(+), 9 deletions(-) diff --git a/app/src/main/res/layout/weather_app_widget.xml b/app/src/main/res/layout/weather_app_widget.xml index 3d1b7e7..7c23e75 100644 --- a/app/src/main/res/layout/weather_app_widget.xml +++ b/app/src/main/res/layout/weather_app_widget.xml @@ -4,7 +4,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" tools:background="@android:color/black" - tools:layout_height="160dp"> + tools:layout_height="110dp"> - - + tools:listitem="@layout/widget_item"/> \ No newline at end of file diff --git a/app/src/main/res/layout/widget_item.xml b/app/src/main/res/layout/widget_item.xml index b723fc6..49c7bad 100644 --- a/app/src/main/res/layout/widget_item.xml +++ b/app/src/main/res/layout/widget_item.xml @@ -3,8 +3,9 @@ xmlns:tools="http://schemas.android.com/tools" android:id="@+id/widget_item_layout" android:layout_width="wrap_content" - android:layout_height="82dp" - android:orientation="vertical"> + android:layout_height="match_parent" + android:orientation="vertical" + android:minHeight="55dp"> diff --git a/app/src/monoWeather/java/com/appttude/h_mal/atlas_weather/monoWeather/widget/WidgetJobServiceIntent.kt b/app/src/monoWeather/java/com/appttude/h_mal/atlas_weather/monoWeather/widget/WidgetJobServiceIntent.kt index 960f32f..4f514b4 100644 --- a/app/src/monoWeather/java/com/appttude/h_mal/atlas_weather/monoWeather/widget/WidgetJobServiceIntent.kt +++ b/app/src/monoWeather/java/com/appttude/h_mal/atlas_weather/monoWeather/widget/WidgetJobServiceIntent.kt @@ -9,6 +9,7 @@ import android.content.Context import android.content.Intent import android.content.pm.PackageManager import android.net.Uri +import android.os.PowerManager import android.widget.RemoteViews import androidx.core.app.ActivityCompat import com.appttude.h_mal.atlas_weather.R @@ -30,13 +31,24 @@ import java.time.format.DateTimeFormatter class WidgetJobServiceIntent : BaseWidgetServiceIntentClass() { override fun onHandleWork(intent: Intent) { - setKodein(this) // We have received work to do. The system or framework is already // holding a wake lock for us at this point, so we can just go. + + val pm = getSystemService(POWER_SERVICE) as PowerManager + val isScreenOn = pm.isInteractive + + // If screen is on then update widget or do nothing + if (isScreenOn) executeWidgetUpdate() + } + + private fun executeWidgetUpdate(){ + setKodein(this) + val appWidgetManager = AppWidgetManager.getInstance(this) val thisAppWidget = ComponentName(packageName, NewAppWidget::class.java.name) val appWidgetIds = appWidgetManager.getAppWidgetIds(thisAppWidget) + // Check if we have an active connection and permissions granted if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED || !isInternetAvailable(this.applicationContext)) { for (appWidgetId in appWidgetIds) {