chore: clean package location
This commit is contained in:
parent
845ebb4868
commit
f177e2cf7c
10 changed files with 55 additions and 37 deletions
|
@ -62,7 +62,7 @@
|
||||||
tools:targetApi="tiramisu">
|
tools:targetApi="tiramisu">
|
||||||
|
|
||||||
<receiver
|
<receiver
|
||||||
android:name=".widgets.UpcomingWidget"
|
android:name=".widgets.upcoming.UpcomingWidget"
|
||||||
android:exported="true">
|
android:exported="true">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
|
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
|
||||||
|
@ -73,7 +73,7 @@
|
||||||
android:resource="@xml/upcoming_widget_info" />
|
android:resource="@xml/upcoming_widget_info" />
|
||||||
</receiver>
|
</receiver>
|
||||||
<activity
|
<activity
|
||||||
android:name=".widgets.UpcomingWidgetConfigureActivity"
|
android:name=".widgets.upcoming.UpcomingWidgetConfigureActivity"
|
||||||
android:exported="true">
|
android:exported="true">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.appwidget.action.APPWIDGET_CONFIGURE" />
|
<action android:name="android.appwidget.action.APPWIDGET_CONFIGURE" />
|
||||||
|
@ -347,7 +347,7 @@
|
||||||
</provider>
|
</provider>
|
||||||
|
|
||||||
<service
|
<service
|
||||||
android:name=".widgets.UpcomingRemoteViewsService"
|
android:name=".widgets.upcoming.UpcomingRemoteViewsService"
|
||||||
android:exported="true"
|
android:exported="true"
|
||||||
android:permission="android.permission.BIND_REMOTEVIEWS" />
|
android:permission="android.permission.BIND_REMOTEVIEWS" />
|
||||||
<service
|
<service
|
||||||
|
|
33
app/src/main/java/ani/dantotsu/util/BitmapUtil.kt
Normal file
33
app/src/main/java/ani/dantotsu/util/BitmapUtil.kt
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
package ani.dantotsu.util
|
||||||
|
|
||||||
|
import android.graphics.Bitmap
|
||||||
|
import android.graphics.BitmapShader
|
||||||
|
import android.graphics.Canvas
|
||||||
|
import android.graphics.Paint
|
||||||
|
import android.graphics.RectF
|
||||||
|
import android.graphics.Shader
|
||||||
|
import android.graphics.drawable.Drawable
|
||||||
|
|
||||||
|
class BitmapUtil {
|
||||||
|
companion object {
|
||||||
|
fun roundCorners(bitmap: Bitmap, cornerRadius: Float = 20f): Bitmap {
|
||||||
|
val output = Bitmap.createBitmap(bitmap.width, bitmap.height, Bitmap.Config.ARGB_8888)
|
||||||
|
val canvas = Canvas(output)
|
||||||
|
val paint = Paint()
|
||||||
|
paint.isAntiAlias = true
|
||||||
|
paint.shader = BitmapShader(bitmap, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP)
|
||||||
|
val rect = RectF(0f, 0f, bitmap.width.toFloat(), bitmap.height.toFloat())
|
||||||
|
canvas.drawRoundRect(rect, cornerRadius, cornerRadius, paint)
|
||||||
|
|
||||||
|
return output
|
||||||
|
}
|
||||||
|
|
||||||
|
fun convertDrawableToBitmap(drawable: Drawable): Bitmap {
|
||||||
|
val bitmap = Bitmap.createBitmap(100, 300, Bitmap.Config.ARGB_8888)
|
||||||
|
val canvas = Canvas(bitmap)
|
||||||
|
drawable.setBounds(0, 0, canvas.width, canvas.height)
|
||||||
|
drawable.draw(canvas)
|
||||||
|
return bitmap
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,21 +1,17 @@
|
||||||
package ani.dantotsu.widgets
|
package ani.dantotsu.widgets.upcoming
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.graphics.Bitmap
|
import android.graphics.Bitmap
|
||||||
import android.graphics.BitmapFactory
|
import android.graphics.BitmapFactory
|
||||||
import android.graphics.BitmapShader
|
|
||||||
import android.graphics.Canvas
|
|
||||||
import android.graphics.Color
|
import android.graphics.Color
|
||||||
import android.graphics.Paint
|
|
||||||
import android.graphics.RectF
|
|
||||||
import android.graphics.Shader
|
|
||||||
import android.widget.RemoteViews
|
import android.widget.RemoteViews
|
||||||
import android.widget.RemoteViewsService
|
import android.widget.RemoteViewsService
|
||||||
import ani.dantotsu.R
|
import ani.dantotsu.R
|
||||||
import ani.dantotsu.connections.anilist.Anilist
|
import ani.dantotsu.connections.anilist.Anilist
|
||||||
import ani.dantotsu.settings.saving.PrefManager
|
import ani.dantotsu.settings.saving.PrefManager
|
||||||
import ani.dantotsu.settings.saving.PrefName
|
import ani.dantotsu.settings.saving.PrefName
|
||||||
|
import ani.dantotsu.util.BitmapUtil.Companion.roundCorners
|
||||||
import ani.dantotsu.util.Logger
|
import ani.dantotsu.util.Logger
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.runBlocking
|
import kotlinx.coroutines.runBlocking
|
||||||
|
@ -123,18 +119,7 @@ class UpcomingRemoteViewsFactory(private val context: Context) :
|
||||||
return bitmap?.let { roundCorners(it) }
|
return bitmap?.let { roundCorners(it) }
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun roundCorners(bitmap: Bitmap): Bitmap {
|
|
||||||
val cornerRadius = 20f
|
|
||||||
val output = Bitmap.createBitmap(bitmap.width, bitmap.height, Bitmap.Config.ARGB_8888)
|
|
||||||
val canvas = Canvas(output)
|
|
||||||
val paint = Paint()
|
|
||||||
paint.isAntiAlias = true
|
|
||||||
paint.shader = BitmapShader(bitmap, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP)
|
|
||||||
val rect = RectF(0f, 0f, bitmap.width.toFloat(), bitmap.height.toFloat())
|
|
||||||
canvas.drawRoundRect(rect, cornerRadius, cornerRadius, paint)
|
|
||||||
|
|
||||||
return output
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
override fun getLoadingView(): RemoteViews {
|
override fun getLoadingView(): RemoteViews {
|
|
@ -1,4 +1,4 @@
|
||||||
package ani.dantotsu.widgets
|
package ani.dantotsu.widgets.upcoming
|
||||||
|
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.widget.RemoteViewsService
|
import android.widget.RemoteViewsService
|
|
@ -1,14 +1,11 @@
|
||||||
package ani.dantotsu.widgets
|
package ani.dantotsu.widgets.upcoming
|
||||||
|
|
||||||
import android.app.PendingIntent
|
import android.app.PendingIntent
|
||||||
import android.appwidget.AppWidgetManager
|
import android.appwidget.AppWidgetManager
|
||||||
import android.appwidget.AppWidgetProvider
|
import android.appwidget.AppWidgetProvider
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.graphics.Bitmap
|
|
||||||
import android.graphics.Canvas
|
|
||||||
import android.graphics.Color
|
import android.graphics.Color
|
||||||
import android.graphics.drawable.Drawable
|
|
||||||
import android.graphics.drawable.GradientDrawable
|
import android.graphics.drawable.GradientDrawable
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
import android.widget.RemoteViews
|
import android.widget.RemoteViews
|
||||||
|
@ -16,6 +13,7 @@ import androidx.core.content.ContextCompat
|
||||||
import androidx.core.content.res.ResourcesCompat
|
import androidx.core.content.res.ResourcesCompat
|
||||||
import ani.dantotsu.MainActivity
|
import ani.dantotsu.MainActivity
|
||||||
import ani.dantotsu.R
|
import ani.dantotsu.R
|
||||||
|
import ani.dantotsu.util.BitmapUtil.Companion.convertDrawableToBitmap
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Implementation of App Widget functionality.
|
* Implementation of App Widget functionality.
|
||||||
|
@ -110,14 +108,6 @@ class UpcomingWidget : AppWidgetProvider() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun convertDrawableToBitmap(drawable: Drawable): Bitmap {
|
|
||||||
val bitmap = Bitmap.createBitmap(100, 300, Bitmap.Config.ARGB_8888)
|
|
||||||
val canvas = Canvas(bitmap)
|
|
||||||
drawable.setBounds(0, 0, canvas.width, canvas.height)
|
|
||||||
drawable.draw(canvas)
|
|
||||||
return bitmap
|
|
||||||
}
|
|
||||||
|
|
||||||
const val PREFS_NAME = "ani.dantotsu.widgets.UpcomingWidget"
|
const val PREFS_NAME = "ani.dantotsu.widgets.UpcomingWidget"
|
||||||
const val PREF_BACKGROUND_COLOR = "background_color"
|
const val PREF_BACKGROUND_COLOR = "background_color"
|
||||||
const val PREF_BACKGROUND_FADE = "background_fade"
|
const val PREF_BACKGROUND_FADE = "background_fade"
|
|
@ -1,4 +1,4 @@
|
||||||
package ani.dantotsu.widgets
|
package ani.dantotsu.widgets.upcoming
|
||||||
|
|
||||||
import android.appwidget.AppWidgetManager
|
import android.appwidget.AppWidgetManager
|
||||||
import android.content.Context
|
import android.content.Context
|
|
@ -8,4 +8,14 @@
|
||||||
<item name="appWidgetRadius">@android:dimen/system_app_widget_background_radius</item>
|
<item name="appWidgetRadius">@android:dimen/system_app_widget_background_radius</item>
|
||||||
<item name="appWidgetInnerRadius">@android:dimen/system_app_widget_inner_radius</item>
|
<item name="appWidgetInnerRadius">@android:dimen/system_app_widget_inner_radius</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
<style name="Theme.Dantotsu.AppWidgetContainer" parent="Theme.Dantotsu.AppWidgetContainerParent">
|
||||||
|
<item name="appWidgetRadius">
|
||||||
|
@android:dimen/system_app_widget_background_radius
|
||||||
|
</item>
|
||||||
|
<item name="appWidgetInnerRadius">
|
||||||
|
@android:dimen/system_app_widget_inner_radius
|
||||||
|
</item>
|
||||||
|
<item name="appWidgetPadding">16dp</item>
|
||||||
|
</style>
|
||||||
</resources>
|
</resources>
|
|
@ -101,5 +101,5 @@
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
|
||||||
<style name="ThemeOverlay_Dantotsu_MediaRouter" parent="ThemeOverlay.AppCompat"></style>
|
<style name="ThemeOverlay_Dantotsu_MediaRouter" parent="ThemeOverlay.AppCompat"/>
|
||||||
</resources>
|
</resources>
|
|
@ -1,7 +1,7 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
|
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:description="@string/upcoming_anime"
|
android:description="@string/upcoming_anime"
|
||||||
android:configure="ani.dantotsu.widgets.UpcomingWidgetConfigureActivity"
|
android:configure="ani.dantotsu.widgets.upcoming.UpcomingWidgetConfigureActivity"
|
||||||
android:initialKeyguardLayout="@layout/upcoming_widget"
|
android:initialKeyguardLayout="@layout/upcoming_widget"
|
||||||
android:initialLayout="@layout/upcoming_widget"
|
android:initialLayout="@layout/upcoming_widget"
|
||||||
android:minWidth="160dp"
|
android:minWidth="160dp"
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
|
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:description="@string/upcoming_anime"
|
android:description="@string/upcoming_anime"
|
||||||
android:configure="ani.dantotsu.widgets.UpcomingWidgetConfigureActivity"
|
android:configure="ani.dantotsu.widgets.upcoming.UpcomingWidgetConfigureActivity"
|
||||||
android:initialKeyguardLayout="@layout/upcoming_widget"
|
android:initialKeyguardLayout="@layout/upcoming_widget"
|
||||||
android:initialLayout="@layout/upcoming_widget"
|
android:initialLayout="@layout/upcoming_widget"
|
||||||
android:minWidth="160dp"
|
android:minWidth="160dp"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue