diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index 9bba60d..526b4c2 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -4,7 +4,7 @@
diff --git a/.idea/misc.xml b/.idea/misc.xml
index a303beb..7dbe2e1 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -61,7 +61,7 @@
-
+
diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml
deleted file mode 100644
index e497da9..0000000
--- a/.idea/runConfigurations.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index 1f66680..0d8e421 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -14,7 +14,6 @@ apikeyProperties.load(new FileInputStream(apikeyPropertiesFile))
android {
compileSdkVersion 30
- buildToolsVersion "29.0.3"
defaultConfig {
applicationId "com.tommasoberlose.anotherwidget"
@@ -68,7 +67,7 @@ dependencies {
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
// UI
- implementation 'androidx.appcompat:appcompat:1.2.0'
+ implementation 'androidx.appcompat:appcompat:1.3.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
implementation 'com.google.android.material:material:1.3.0'
implementation 'androidx.browser:browser:1.3.0'
@@ -117,10 +116,10 @@ dependencies {
implementation 'com.android.billingclient:billing-ktx:3.0.3'
// KTX
- implementation "androidx.core:core-ktx:1.3.2"
+ implementation "androidx.core:core-ktx:1.5.0"
implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.3.1"
implementation "androidx.palette:palette-ktx:1.0.0"
- implementation 'androidx.core:core-ktx:1.3.2'
+ implementation 'androidx.core:core-ktx:1.5.0'
//Retrofit
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
@@ -133,7 +132,7 @@ dependencies {
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.4.1'
// Add the Firebase SDK for Crashlytics.
- implementation 'com.google.firebase:firebase-crashlytics:17.4.1'
+ implementation 'com.google.firebase:firebase-crashlytics:18.0.0'
// Preferences
implementation 'com.chibatching.kotpref:kotpref:2.13.1'
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index f6aaa1e..f91c22e 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -26,13 +26,13 @@
android:usesCleartextTraffic="true"
android:theme="@style/AppTheme"
tools:ignore="LockedOrientationActivity">
-
+
-
+
@@ -75,8 +75,8 @@
android:exported="true">
-
-
+
+
@@ -91,8 +91,7 @@
android:enabled="true"
android:exported="true">
-
-
+
@@ -104,18 +103,9 @@
+ android:exported="true">
-
-
-
-
-
-
-
+
@@ -143,7 +133,7 @@
@@ -155,12 +145,12 @@
diff --git a/app/src/main/java/com/tommasoberlose/anotherwidget/global/Preferences.kt b/app/src/main/java/com/tommasoberlose/anotherwidget/global/Preferences.kt
index 41b83fd..4db926a 100755
--- a/app/src/main/java/com/tommasoberlose/anotherwidget/global/Preferences.kt
+++ b/app/src/main/java/com/tommasoberlose/anotherwidget/global/Preferences.kt
@@ -85,7 +85,7 @@ object Preferences : KotprefModel() {
var weatherIconPack by intPref(default = Constants.WeatherIconPack.DEFAULT.rawValue)
// UI
- var widgetMargin by floatPref(default = Constants.Dimension.SMALL.rawValue)
+ var widgetMargin by floatPref(default = Constants.Dimension.NONE.rawValue)
var widgetPadding by floatPref(default = Constants.Dimension.SMALL.rawValue)
// Clock
diff --git a/app/src/main/java/com/tommasoberlose/anotherwidget/receivers/CrashlyticsReceiver.kt b/app/src/main/java/com/tommasoberlose/anotherwidget/receivers/CrashlyticsReceiver.kt
deleted file mode 100644
index d3f36a4..0000000
--- a/app/src/main/java/com/tommasoberlose/anotherwidget/receivers/CrashlyticsReceiver.kt
+++ /dev/null
@@ -1,32 +0,0 @@
-package com.tommasoberlose.anotherwidget.receivers
-
-import android.content.BroadcastReceiver
-import android.content.Context
-import android.content.Intent
-import android.util.Log
-import com.google.firebase.crashlytics.FirebaseCrashlytics
-import com.tommasoberlose.anotherwidget.global.Actions
-import java.lang.Exception
-
-class CrashlyticsReceiver : BroadcastReceiver() {
- override fun onReceive(context: Context, intent: Intent) {
- if (intent.action == Actions.ACTION_REPORT_CRASH) {
- val exception: Exception = intent.getSerializableExtra(EXCEPTION) as Exception
- FirebaseCrashlytics.getInstance().recordException(exception)
- FirebaseCrashlytics.getInstance().sendUnsentReports()
- }
- }
-
-
- companion object {
- private const val EXCEPTION = "EXCEPTION"
-
- fun sendCrash(context: Context, exception: Exception) {
- context.sendBroadcast(Intent(context, CrashlyticsReceiver::class.java).apply {
- action = Actions.ACTION_REPORT_CRASH
- putExtra(EXCEPTION, exception)
- })
- }
- }
-
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/tommasoberlose/anotherwidget/ui/activities/MainActivity.kt b/app/src/main/java/com/tommasoberlose/anotherwidget/ui/activities/MainActivity.kt
index 0e080df..4e01a0d 100644
--- a/app/src/main/java/com/tommasoberlose/anotherwidget/ui/activities/MainActivity.kt
+++ b/app/src/main/java/com/tommasoberlose/anotherwidget/ui/activities/MainActivity.kt
@@ -46,6 +46,7 @@ class MainActivity : AppCompatActivity(), SharedPreferences.OnSharedPreferenceCh
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
+ overridePendingTransition(R.anim.nav_default_enter_anim, R.anim.nav_default_exit_anim)
viewModel = ViewModelProvider(this).get(MainViewModel::class.java)
binding = ActivityMainBinding.inflate(layoutInflater)
diff --git a/app/src/main/java/com/tommasoberlose/anotherwidget/ui/activities/SplashActivity.kt b/app/src/main/java/com/tommasoberlose/anotherwidget/ui/activities/SplashActivity.kt
new file mode 100644
index 0000000..853697c
--- /dev/null
+++ b/app/src/main/java/com/tommasoberlose/anotherwidget/ui/activities/SplashActivity.kt
@@ -0,0 +1,28 @@
+package com.tommasoberlose.anotherwidget.ui.activities
+
+import android.content.Intent
+import android.os.Bundle
+import androidx.appcompat.app.AppCompatActivity
+import androidx.lifecycle.ViewModelProvider
+import androidx.lifecycle.lifecycleScope
+import com.tommasoberlose.anotherwidget.R
+import com.tommasoberlose.anotherwidget.databinding.ActivityMainBinding
+import com.tommasoberlose.anotherwidget.global.Preferences
+import com.tommasoberlose.anotherwidget.ui.viewmodels.MainViewModel
+import kotlinx.coroutines.delay
+
+class SplashActivity: AppCompatActivity() {
+
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ lifecycleScope.launchWhenResumed {
+ delay(1000)
+
+ if (!this@SplashActivity.isDestroyed) {
+ startActivity(Intent(this@SplashActivity, MainActivity::class.java))
+ finish()
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/tommasoberlose/anotherwidget/ui/fragments/MainFragment.kt b/app/src/main/java/com/tommasoberlose/anotherwidget/ui/fragments/MainFragment.kt
index dcd1395..a70929d 100644
--- a/app/src/main/java/com/tommasoberlose/anotherwidget/ui/fragments/MainFragment.kt
+++ b/app/src/main/java/com/tommasoberlose/anotherwidget/ui/fragments/MainFragment.kt
@@ -12,6 +12,7 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.RemoteViews
+import androidx.core.view.isVisible
import androidx.fragment.app.Fragment
import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.lifecycleScope
@@ -146,6 +147,10 @@ class MainFragment : Fragment() {
binding.toolbar.cardElevation = if (it > 0) 32f else 0f
}
+ viewModel.showPreview.observe(viewLifecycleOwner) {
+ binding.preview.isVisible = it
+ }
+
viewModel.widgetPreferencesUpdate.observe(viewLifecycleOwner) {
onUpdateUiEvent(null)
}
@@ -169,16 +174,13 @@ class MainFragment : Fragment() {
val view: View = generatedView.apply(requireActivity().applicationContext, binding.widget)
view.measure(0, 0)
- binding.widgetLoader.animate().scaleX(1f).scaleY(1f).alpha(1f)
- .setDuration(200L).start()
+ binding.widgetLoader.animate().alpha(0f).setDuration(200L).start()
binding.widget.animate().alpha(0f).setDuration(200L).withEndAction {
+ updatePreviewVisibility(view.measuredHeight)
binding.widget.removeAllViews()
binding.widget.addView(view)
- updatePreviewVisibility(view.measuredHeight)
- binding.widgetLoader.animate().scaleX(0f).scaleY(0f).alpha(0f)
- .setDuration(200L).start()
- binding.widget.animate().alpha(1f).start()
+ binding.widget.animate().setStartDelay(300L).alpha(1f).start()
}.start()
}
}
@@ -188,28 +190,30 @@ class MainFragment : Fragment() {
}
private fun updatePreviewVisibility(widgetHeight: Int) {
- val newHeight = widgetHeight + 32f.convertDpToPixel(requireContext()).toInt()
- if (binding.preview.layoutParams.height != newHeight) {
- binding.preview.clearAnimation()
- ValueAnimator.ofInt(
- binding.preview.height,
- newHeight
- ).apply {
- duration = 500L
- addUpdateListener {
- val animatedValue = animatedValue as Int
- val layoutParams = binding.preview.layoutParams
- layoutParams.height = animatedValue
- binding.preview.layoutParams = layoutParams
- }
- }.start()
+ if (isAdded) {
+ val newHeight = widgetHeight + 32f.convertDpToPixel(requireContext()).toInt()
+ if (binding.preview.layoutParams.height != newHeight) {
+ binding.preview.clearAnimation()
+ ValueAnimator.ofInt(
+ binding.preview.height,
+ newHeight
+ ).apply {
+ duration = 300L
+ addUpdateListener {
+ val animatedValue = animatedValue as Int
+ val layoutParams = binding.preview.layoutParams
+ layoutParams.height = animatedValue
+ binding.preview.layoutParams = layoutParams
+ }
+ }.start()
+ }
}
}
override fun onResume() {
super.onResume()
EventBus.getDefault().register(this)
- updateUI()
+// updateUI()
}
override fun onPause() {
diff --git a/app/src/main/java/com/tommasoberlose/anotherwidget/ui/viewmodels/MainViewModel.kt b/app/src/main/java/com/tommasoberlose/anotherwidget/ui/viewmodels/MainViewModel.kt
index a3f562e..52be37d 100644
--- a/app/src/main/java/com/tommasoberlose/anotherwidget/ui/viewmodels/MainViewModel.kt
+++ b/app/src/main/java/com/tommasoberlose/anotherwidget/ui/viewmodels/MainViewModel.kt
@@ -135,7 +135,6 @@ class MainViewModel(context: Application) : AndroidViewModel(context) {
addSource(Preferences.asLiveData(Preferences::customFontFile)) { value = true }
addSource(Preferences.asLiveData(Preferences::customFontName)) { value = true }
addSource(Preferences.asLiveData(Preferences::customFontVariant)) { value = true }
- addSource(Preferences.asLiveData(Preferences::secondRowInformation)) { value = true }
addSource(Preferences.asLiveData(Preferences::widgetAlign)) { value = true }
addSource(Preferences.asLiveData(Preferences::widgetMargin)) { value = true }
addSource(Preferences.asLiveData(Preferences::widgetPadding)) { value = true }
diff --git a/app/src/main/java/com/tommasoberlose/anotherwidget/ui/widgets/AlignedWidget.kt b/app/src/main/java/com/tommasoberlose/anotherwidget/ui/widgets/AlignedWidget.kt
index 5323c20..a7ad254 100644
--- a/app/src/main/java/com/tommasoberlose/anotherwidget/ui/widgets/AlignedWidget.kt
+++ b/app/src/main/java/com/tommasoberlose/anotherwidget/ui/widgets/AlignedWidget.kt
@@ -7,7 +7,6 @@ import android.content.Intent
import android.graphics.Color
import android.graphics.Typeface
import android.text.format.DateUtils
-import android.util.Log
import android.util.TypedValue
import android.view.Gravity
import android.view.LayoutInflater
@@ -16,7 +15,6 @@ import android.view.ViewGroup
import android.widget.*
import androidx.core.content.ContextCompat
import androidx.core.view.isVisible
-import androidx.core.view.updateMargins
import com.tommasoberlose.anotherwidget.R
import com.tommasoberlose.anotherwidget.databinding.LeftAlignedWidgetBinding
import com.tommasoberlose.anotherwidget.db.EventRepository
@@ -26,7 +24,6 @@ import com.tommasoberlose.anotherwidget.global.Preferences
import com.tommasoberlose.anotherwidget.helpers.*
import com.tommasoberlose.anotherwidget.helpers.ColorHelper.toIntValue
import com.tommasoberlose.anotherwidget.helpers.ImageHelper.applyShadow
-import com.tommasoberlose.anotherwidget.receivers.CrashlyticsReceiver
import com.tommasoberlose.anotherwidget.receivers.NewCalendarEventReceiver
import com.tommasoberlose.anotherwidget.receivers.WidgetClickListenerReceiver
import com.tommasoberlose.anotherwidget.utils.checkGrantedPermission
@@ -70,7 +67,6 @@ class AlignedWidget(val context: Context, val rightAligned: Boolean = false) {
views.setViewPadding(R.id.main_layout, padding, padding, padding, padding)
} catch (ex: Exception) {
ex.printStackTrace()
- CrashlyticsReceiver.sendCrash(context, ex)
}
// Clock
@@ -88,7 +84,6 @@ class AlignedWidget(val context: Context, val rightAligned: Boolean = false) {
views = updateGridView(generatedBinding, views, appWidgetId)
} catch (ex: Exception) {
ex.printStackTrace()
- CrashlyticsReceiver.sendCrash(context, ex)
}
return views
@@ -417,7 +412,6 @@ class AlignedWidget(val context: Context, val rightAligned: Boolean = false) {
)
} catch (ex: Exception) {
ex.printStackTrace()
- CrashlyticsReceiver.sendCrash(context, ex)
}
return views
@@ -996,7 +990,6 @@ class AlignedWidget(val context: Context, val rightAligned: Boolean = false) {
return bindingView
} catch (ex: Exception) {
ex.printStackTrace()
- CrashlyticsReceiver.sendCrash(context, ex)
return null
}
}
diff --git a/app/src/main/java/com/tommasoberlose/anotherwidget/ui/widgets/ClockWidget.kt b/app/src/main/java/com/tommasoberlose/anotherwidget/ui/widgets/ClockWidget.kt
index a2fa77e..b505cbd 100644
--- a/app/src/main/java/com/tommasoberlose/anotherwidget/ui/widgets/ClockWidget.kt
+++ b/app/src/main/java/com/tommasoberlose/anotherwidget/ui/widgets/ClockWidget.kt
@@ -3,7 +3,6 @@ package com.tommasoberlose.anotherwidget.ui.widgets
import android.app.PendingIntent
import android.content.Context
import android.util.TypedValue
-import android.view.Gravity
import android.view.View
import android.widget.RemoteViews
import com.tommasoberlose.anotherwidget.R
@@ -11,7 +10,6 @@ import com.tommasoberlose.anotherwidget.global.Constants
import com.tommasoberlose.anotherwidget.global.Preferences
import com.tommasoberlose.anotherwidget.helpers.ColorHelper
import com.tommasoberlose.anotherwidget.helpers.IntentHelper
-import com.tommasoberlose.anotherwidget.receivers.CrashlyticsReceiver
import com.tommasoberlose.anotherwidget.utils.isDarkTheme
import com.tommasoberlose.anotherwidget.utils.toPixel
@@ -111,7 +109,6 @@ class ClockWidget(val context: Context) {
}
} catch (ex: Exception) {
ex.printStackTrace()
- CrashlyticsReceiver.sendCrash(context, ex)
}
return views
diff --git a/app/src/main/java/com/tommasoberlose/anotherwidget/ui/widgets/StandardWidget.kt b/app/src/main/java/com/tommasoberlose/anotherwidget/ui/widgets/StandardWidget.kt
index 8106628..5ad6191 100644
--- a/app/src/main/java/com/tommasoberlose/anotherwidget/ui/widgets/StandardWidget.kt
+++ b/app/src/main/java/com/tommasoberlose/anotherwidget/ui/widgets/StandardWidget.kt
@@ -2,13 +2,11 @@ package com.tommasoberlose.anotherwidget.ui.widgets
import android.Manifest
import android.app.PendingIntent
-import android.appwidget.AppWidgetManager
import android.content.Context
import android.content.Intent
import android.graphics.Color
import android.graphics.Typeface
import android.text.format.DateUtils
-import android.util.Log
import android.util.TypedValue
import android.view.Gravity
import android.view.LayoutInflater
@@ -28,13 +26,11 @@ import com.tommasoberlose.anotherwidget.global.Preferences
import com.tommasoberlose.anotherwidget.helpers.*
import com.tommasoberlose.anotherwidget.helpers.ColorHelper.toIntValue
import com.tommasoberlose.anotherwidget.helpers.ImageHelper.applyShadow
-import com.tommasoberlose.anotherwidget.receivers.CrashlyticsReceiver
import com.tommasoberlose.anotherwidget.receivers.NewCalendarEventReceiver
import com.tommasoberlose.anotherwidget.receivers.WidgetClickListenerReceiver
import com.tommasoberlose.anotherwidget.utils.checkGrantedPermission
import com.tommasoberlose.anotherwidget.utils.convertDpToPixel
import com.tommasoberlose.anotherwidget.utils.isDarkTheme
-import com.tommasoberlose.anotherwidget.utils.toPixel
import java.text.DateFormat
import java.util.*
import java.util.concurrent.TimeUnit
@@ -72,7 +68,6 @@ class StandardWidget(val context: Context) {
views.setViewPadding(R.id.main_layout, padding, padding, padding, padding)
} catch (ex: Exception) {
ex.printStackTrace()
- CrashlyticsReceiver.sendCrash(context, ex)
}
// Clock
@@ -90,7 +85,6 @@ class StandardWidget(val context: Context) {
views = updateGridView(generatedBinding, views, appWidgetId)
} catch (ex: Exception) {
ex.printStackTrace()
- CrashlyticsReceiver.sendCrash(context, ex)
}
return views
@@ -446,7 +440,6 @@ class StandardWidget(val context: Context) {
}
} catch (ex: Exception) {
ex.printStackTrace()
- CrashlyticsReceiver.sendCrash(context, ex)
}
return views
@@ -1027,7 +1020,6 @@ class StandardWidget(val context: Context) {
} catch (ex: Exception) {
ex.printStackTrace()
- CrashlyticsReceiver.sendCrash(context, ex)
return null
}
}
diff --git a/app/src/main/res/drawable-hdpi/ic_splash_logo.png b/app/src/main/res/drawable-hdpi/ic_splash_logo.png
index c128da7..3b7f7b4 100644
Binary files a/app/src/main/res/drawable-hdpi/ic_splash_logo.png and b/app/src/main/res/drawable-hdpi/ic_splash_logo.png differ
diff --git a/app/src/main/res/drawable-hdpi/round_upcoming_white_18.png b/app/src/main/res/drawable-hdpi/round_upcoming_white_18.png
new file mode 100644
index 0000000..3add04c
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/round_upcoming_white_18.png differ
diff --git a/app/src/main/res/drawable-hdpi/round_upcoming_white_20.png b/app/src/main/res/drawable-hdpi/round_upcoming_white_20.png
new file mode 100644
index 0000000..c4eb912
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/round_upcoming_white_20.png differ
diff --git a/app/src/main/res/drawable-hdpi/round_upcoming_white_24.png b/app/src/main/res/drawable-hdpi/round_upcoming_white_24.png
new file mode 100644
index 0000000..8d08415
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/round_upcoming_white_24.png differ
diff --git a/app/src/main/res/drawable-hdpi/round_upcoming_white_36.png b/app/src/main/res/drawable-hdpi/round_upcoming_white_36.png
new file mode 100644
index 0000000..2e3d8dc
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/round_upcoming_white_36.png differ
diff --git a/app/src/main/res/drawable-hdpi/round_upcoming_white_48.png b/app/src/main/res/drawable-hdpi/round_upcoming_white_48.png
new file mode 100644
index 0000000..dcbe498
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/round_upcoming_white_48.png differ
diff --git a/app/src/main/res/drawable-mdpi/ic_splash_logo.png b/app/src/main/res/drawable-mdpi/ic_splash_logo.png
index 8aa775a..07548a0 100644
Binary files a/app/src/main/res/drawable-mdpi/ic_splash_logo.png and b/app/src/main/res/drawable-mdpi/ic_splash_logo.png differ
diff --git a/app/src/main/res/drawable-mdpi/round_upcoming_white_18.png b/app/src/main/res/drawable-mdpi/round_upcoming_white_18.png
new file mode 100644
index 0000000..89791f7
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/round_upcoming_white_18.png differ
diff --git a/app/src/main/res/drawable-mdpi/round_upcoming_white_20.png b/app/src/main/res/drawable-mdpi/round_upcoming_white_20.png
new file mode 100644
index 0000000..5b0221a
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/round_upcoming_white_20.png differ
diff --git a/app/src/main/res/drawable-mdpi/round_upcoming_white_24.png b/app/src/main/res/drawable-mdpi/round_upcoming_white_24.png
new file mode 100644
index 0000000..b538fa3
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/round_upcoming_white_24.png differ
diff --git a/app/src/main/res/drawable-mdpi/round_upcoming_white_36.png b/app/src/main/res/drawable-mdpi/round_upcoming_white_36.png
new file mode 100644
index 0000000..8d08415
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/round_upcoming_white_36.png differ
diff --git a/app/src/main/res/drawable-mdpi/round_upcoming_white_48.png b/app/src/main/res/drawable-mdpi/round_upcoming_white_48.png
new file mode 100644
index 0000000..0154b17
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/round_upcoming_white_48.png differ
diff --git a/app/src/main/res/drawable-night-hdpi/round_upcoming_24.png b/app/src/main/res/drawable-night-hdpi/round_upcoming_24.png
new file mode 100644
index 0000000..6a3d77d
Binary files /dev/null and b/app/src/main/res/drawable-night-hdpi/round_upcoming_24.png differ
diff --git a/app/src/main/res/drawable-night-mdpi/round_upcoming_24.png b/app/src/main/res/drawable-night-mdpi/round_upcoming_24.png
new file mode 100644
index 0000000..43c5c66
Binary files /dev/null and b/app/src/main/res/drawable-night-mdpi/round_upcoming_24.png differ
diff --git a/app/src/main/res/drawable-night-xhdpi/round_upcoming_24.png b/app/src/main/res/drawable-night-xhdpi/round_upcoming_24.png
new file mode 100644
index 0000000..09f6f6a
Binary files /dev/null and b/app/src/main/res/drawable-night-xhdpi/round_upcoming_24.png differ
diff --git a/app/src/main/res/drawable-night-xxhdpi/round_upcoming_24.png b/app/src/main/res/drawable-night-xxhdpi/round_upcoming_24.png
new file mode 100644
index 0000000..bf104db
Binary files /dev/null and b/app/src/main/res/drawable-night-xxhdpi/round_upcoming_24.png differ
diff --git a/app/src/main/res/drawable-night-xxxhdpi/round_upcoming_24.png b/app/src/main/res/drawable-night-xxxhdpi/round_upcoming_24.png
new file mode 100644
index 0000000..e65c88f
Binary files /dev/null and b/app/src/main/res/drawable-night-xxxhdpi/round_upcoming_24.png differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_splash_logo.png b/app/src/main/res/drawable-xhdpi/ic_splash_logo.png
index 2f85f22..fe3f46a 100644
Binary files a/app/src/main/res/drawable-xhdpi/ic_splash_logo.png and b/app/src/main/res/drawable-xhdpi/ic_splash_logo.png differ
diff --git a/app/src/main/res/drawable-xhdpi/round_upcoming_white_18.png b/app/src/main/res/drawable-xhdpi/round_upcoming_white_18.png
new file mode 100644
index 0000000..8d08415
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/round_upcoming_white_18.png differ
diff --git a/app/src/main/res/drawable-xhdpi/round_upcoming_white_20.png b/app/src/main/res/drawable-xhdpi/round_upcoming_white_20.png
new file mode 100644
index 0000000..db3f440
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/round_upcoming_white_20.png differ
diff --git a/app/src/main/res/drawable-xhdpi/round_upcoming_white_24.png b/app/src/main/res/drawable-xhdpi/round_upcoming_white_24.png
new file mode 100644
index 0000000..0154b17
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/round_upcoming_white_24.png differ
diff --git a/app/src/main/res/drawable-xhdpi/round_upcoming_white_36.png b/app/src/main/res/drawable-xhdpi/round_upcoming_white_36.png
new file mode 100644
index 0000000..dcbe498
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/round_upcoming_white_36.png differ
diff --git a/app/src/main/res/drawable-xhdpi/round_upcoming_white_48.png b/app/src/main/res/drawable-xhdpi/round_upcoming_white_48.png
new file mode 100644
index 0000000..8cc3119
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/round_upcoming_white_48.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_splash_logo.png b/app/src/main/res/drawable-xxhdpi/ic_splash_logo.png
index ce08c7a..3dc137d 100644
Binary files a/app/src/main/res/drawable-xxhdpi/ic_splash_logo.png and b/app/src/main/res/drawable-xxhdpi/ic_splash_logo.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/round_upcoming_white_18.png b/app/src/main/res/drawable-xxhdpi/round_upcoming_white_18.png
new file mode 100644
index 0000000..2e3d8dc
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/round_upcoming_white_18.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/round_upcoming_white_20.png b/app/src/main/res/drawable-xxhdpi/round_upcoming_white_20.png
new file mode 100644
index 0000000..92806da
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/round_upcoming_white_20.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/round_upcoming_white_24.png b/app/src/main/res/drawable-xxhdpi/round_upcoming_white_24.png
new file mode 100644
index 0000000..dcbe498
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/round_upcoming_white_24.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/round_upcoming_white_36.png b/app/src/main/res/drawable-xxhdpi/round_upcoming_white_36.png
new file mode 100644
index 0000000..757ef12
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/round_upcoming_white_36.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/round_upcoming_white_48.png b/app/src/main/res/drawable-xxhdpi/round_upcoming_white_48.png
new file mode 100644
index 0000000..ef000f1
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/round_upcoming_white_48.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_splash_logo.png b/app/src/main/res/drawable-xxxhdpi/ic_splash_logo.png
index 30ce93f..23eeb08 100644
Binary files a/app/src/main/res/drawable-xxxhdpi/ic_splash_logo.png and b/app/src/main/res/drawable-xxxhdpi/ic_splash_logo.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/round_upcoming_white_18.png b/app/src/main/res/drawable-xxxhdpi/round_upcoming_white_18.png
new file mode 100644
index 0000000..dcbe498
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/round_upcoming_white_18.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/round_upcoming_white_20.png b/app/src/main/res/drawable-xxxhdpi/round_upcoming_white_20.png
new file mode 100644
index 0000000..2634086
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/round_upcoming_white_20.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/round_upcoming_white_24.png b/app/src/main/res/drawable-xxxhdpi/round_upcoming_white_24.png
new file mode 100644
index 0000000..8cc3119
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/round_upcoming_white_24.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/round_upcoming_white_36.png b/app/src/main/res/drawable-xxxhdpi/round_upcoming_white_36.png
new file mode 100644
index 0000000..ef000f1
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/round_upcoming_white_36.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/round_upcoming_white_48.png b/app/src/main/res/drawable-xxxhdpi/round_upcoming_white_48.png
new file mode 100644
index 0000000..a717440
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/round_upcoming_white_48.png differ
diff --git a/app/src/main/res/drawable/card_background.xml b/app/src/main/res/drawable/card_background.xml
index 82d7f7e..236cdff 100644
--- a/app/src/main/res/drawable/card_background.xml
+++ b/app/src/main/res/drawable/card_background.xml
@@ -3,9 +3,9 @@
-
+ android:radius="20dp" />
+ android:color="@color/colorPrimary"/>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/outlined_circled_background.xml b/app/src/main/res/drawable/outlined_circled_background.xml
new file mode 100644
index 0000000..c16ac5b
--- /dev/null
+++ b/app/src/main/res/drawable/outlined_circled_background.xml
@@ -0,0 +1,9 @@
+
+
+ -
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/round_upcoming_20.xml b/app/src/main/res/drawable/round_upcoming_20.xml
new file mode 100644
index 0000000..c1304e4
--- /dev/null
+++ b/app/src/main/res/drawable/round_upcoming_20.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/round_upcoming_24.xml b/app/src/main/res/drawable/round_upcoming_24.xml
new file mode 100644
index 0000000..f3c7980
--- /dev/null
+++ b/app/src/main/res/drawable/round_upcoming_24.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/left_aligned_widget.xml b/app/src/main/res/layout/left_aligned_widget.xml
index 9e757a5..aba9a01 100644
--- a/app/src/main/res/layout/left_aligned_widget.xml
+++ b/app/src/main/res/layout/left_aligned_widget.xml
@@ -1,4 +1,6 @@
#F8F8F8
#0092ca
#1A1089FF
+ #331089FF
#4D1089FF
#1089FF
#1A000000
diff --git a/build.gradle b/build.gradle
index 09745b4..91ae85f 100644
--- a/build.gradle
+++ b/build.gradle
@@ -9,12 +9,12 @@ buildscript {
mavenCentral()
}
dependencies {
- classpath 'com.android.tools.build:gradle:4.2.0'
+ classpath 'com.android.tools.build:gradle:7.0.2'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
- classpath 'com.google.gms:google-services:4.3.5'
+ classpath 'com.google.gms:google-services:4.3.8'
// Add the Crashlytics Gradle plugin.
- classpath 'com.google.firebase:firebase-crashlytics-gradle:2.5.2'
+ classpath 'com.google.firebase:firebase-crashlytics-gradle:2.6.1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index ab7c9d5..f403e3d 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip