reworked the widgets

This commit is contained in:
Fabian Freund
2024-06-20 17:20:38 +02:00
parent b27c99cd49
commit da4e5c3c23
10 changed files with 177 additions and 20 deletions
+19 -3
View File
@@ -45,13 +45,29 @@
<data android:mimeType="application/pdf" />
</intent-filter>
</activity>
<receiver android:name="BangNavigatorWidgetProvider" android:exported="true">
<receiver android:name="FullWidgetProvider" android:exported="true">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/bang_navigator_widget_info" />
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/full_widget_info"/>
</receiver>
<receiver android:name="CompactWidgetProvider" android:exported="true">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/compact_widget_info"/>
</receiver>
<receiver android:name="SearchBarWidgetProvider" android:exported="true">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/search_bar_widget_info"/>
</receiver>
<!-- Don't delete the meta-data below.
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
@@ -11,10 +11,10 @@ import es.antonborri.home_widget.HomeWidgetBackgroundIntent
import es.antonborri.home_widget.HomeWidgetLaunchIntent
import es.antonborri.home_widget.HomeWidgetProvider
class BangNavigatorWidgetProvider : HomeWidgetProvider() {
class CompactWidgetProvider : HomeWidgetProvider() {
override fun onUpdate(context: Context, appWidgetManager: AppWidgetManager, appWidgetIds: IntArray, widgetData: SharedPreferences) {
appWidgetIds.forEach { widgetId ->
val views = RemoteViews(context.packageName, R.layout.bang_navigator_widget).apply {
val views = RemoteViews(context.packageName, R.layout.compact_widget).apply {
val searchIntent = HomeWidgetLaunchIntent.getActivity(
context,
MainActivity::class.java,
@@ -0,0 +1,40 @@
package me.movenext.bang_navigator
import android.appwidget.AppWidgetManager
import android.content.Context
import android.content.SharedPreferences
import android.graphics.BitmapFactory
import android.net.Uri
import android.view.View
import android.widget.RemoteViews
import es.antonborri.home_widget.HomeWidgetBackgroundIntent
import es.antonborri.home_widget.HomeWidgetLaunchIntent
import es.antonborri.home_widget.HomeWidgetProvider
class FullWidgetProvider : HomeWidgetProvider() {
override fun onUpdate(context: Context, appWidgetManager: AppWidgetManager, appWidgetIds: IntArray, widgetData: SharedPreferences) {
appWidgetIds.forEach { widgetId ->
val views = RemoteViews(context.packageName, R.layout.full_widget).apply {
val searchIntent = HomeWidgetLaunchIntent.getActivity(
context,
MainActivity::class.java,
Uri.parse("widget://search"))
setOnClickPendingIntent(R.id.search_button, searchIntent)
val assistantIntent = HomeWidgetLaunchIntent.getActivity(
context,
MainActivity::class.java,
Uri.parse("widget://assistant"))
setOnClickPendingIntent(R.id.assistant_button, assistantIntent)
val summarizerIntent = HomeWidgetLaunchIntent.getActivity(
context,
MainActivity::class.java,
Uri.parse("widget://summarizer"))
setOnClickPendingIntent(R.id.summarizer_button, summarizerIntent)
}
appWidgetManager.updateAppWidget(widgetId, views)
}
}
}
@@ -0,0 +1,28 @@
package me.movenext.bang_navigator
import android.appwidget.AppWidgetManager
import android.content.Context
import android.content.SharedPreferences
import android.graphics.BitmapFactory
import android.net.Uri
import android.view.View
import android.widget.RemoteViews
import es.antonborri.home_widget.HomeWidgetBackgroundIntent
import es.antonborri.home_widget.HomeWidgetLaunchIntent
import es.antonborri.home_widget.HomeWidgetProvider
class SearchBarWidgetProvider : HomeWidgetProvider() {
override fun onUpdate(context: Context, appWidgetManager: AppWidgetManager, appWidgetIds: IntArray, widgetData: SharedPreferences) {
appWidgetIds.forEach { widgetId ->
val views = RemoteViews(context.packageName, R.layout.search_bar_widget).apply {
val searchIntent = HomeWidgetLaunchIntent.getActivity(
context,
MainActivity::class.java,
Uri.parse("widget://search"))
setOnClickPendingIntent(R.id.search_button, searchIntent)
}
appWidgetManager.updateAppWidget(widgetId, views)
}
}
}
@@ -0,0 +1,44 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/Widget.BangNavigatorWidget.AppWidget.Container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="16dp"
android:theme="@style/Theme.BangNavigatorWidget.AppWidgetContainer"
android:gravity="center_vertical">
<Button
android:id="@+id/search_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/search_text_field"
android:drawableStart="@drawable/icon_with_size"
android:drawableEnd="@drawable/mdi_icon_microphone_tint"
android:drawablePadding="8dp"
android:gravity="start|center_vertical"
android:padding="12dp"
android:text="Search with Kagi..."
android:textColor="#848388" />
<Button
android:id="@+id/summarizer_button"
android:layout_width="56dp"
android:layout_height="56dp"
android:layout_marginStart="8dp"
android:backgroundTint="#333237"
android:background="@drawable/button"
android:drawableTint="@color/white"
android:drawableStart="@drawable/mdi_icon_text"
android:padding="16dp" />
<Button
android:id="@+id/assistant_button"
android:layout_width="56dp"
android:layout_height="56dp"
android:layout_marginStart="8dp"
android:backgroundTint="#333237"
android:background="@drawable/button"
android:drawableTint="@color/white"
android:drawableStart="@drawable/mdi_icon_brain"
android:padding="16dp" />
</LinearLayout>
@@ -26,19 +26,6 @@
android:gravity="center"
android:paddingTop="12dp">
<Button
android:layout_marginEnd="8dp"
android:id="@+id/assistant_button"
android:padding="16dp"
android:backgroundTint="#333237"
android:background="@drawable/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableTint="@color/white"
android:drawableStart="@drawable/mdi_icon_brain"
android:drawablePadding="8dp"
android:text="Assistant" />
<Button
android:layout_marginStart="8dp"
android:id="@+id/summarizer_button"
@@ -51,5 +38,18 @@
android:drawableStart="@drawable/mdi_icon_text"
android:drawablePadding="8dp"
android:text="Summarizer" />
<Button
android:layout_marginEnd="8dp"
android:id="@+id/assistant_button"
android:padding="16dp"
android:backgroundTint="#333237"
android:background="@drawable/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableTint="@color/white"
android:drawableStart="@drawable/mdi_icon_brain"
android:drawablePadding="8dp"
android:text="Assistant" />
</LinearLayout>
</LinearLayout>
@@ -0,0 +1,13 @@
<Button
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/search_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/search_text_field"
android:text="Search with Kagi..."
android:textColor="#848388"
android:drawablePadding="8dp"
android:padding="12dp"
android:drawableStart="@drawable/icon_with_size"
android:drawableEnd="@drawable/mdi_icon_microphone_tint"
android:gravity="start|center_vertical" />
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:initialLayout="@layout/compact_widget"
android:resizeMode="none"
android:previewLayout="@layout/compact_widget"
android:targetCellWidth="5"
android:targetCellHeight="1"
android:widgetCategory="home_screen" />
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:initialLayout="@layout/bang_navigator_widget"
android:initialLayout="@layout/full_widget"
android:resizeMode="none"
android:previewLayout="@layout/bang_navigator_widget"
android:previewLayout="@layout/full_widget"
android:targetCellWidth="5"
android:targetCellHeight="2"
android:widgetCategory="home_screen" />
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:initialLayout="@layout/search_bar_widget"
android:resizeMode="none"
android:previewLayout="@layout/search_bar_widget"
android:targetCellWidth="5"
android:targetCellHeight="1"
android:widgetCategory="home_screen" />