diff --git a/app/android/app/src/main/AndroidManifest.xml b/app/android/app/src/main/AndroidManifest.xml index a9f3ab82..f6695645 100644 --- a/app/android/app/src/main/AndroidManifest.xml +++ b/app/android/app/src/main/AndroidManifest.xml @@ -45,13 +45,29 @@ - + - + + + + + + + + + + + + + + + diff --git a/app/android/app/src/main/kotlin/me/movenext/bang_navigator/BangNavigatorWidgetProvider.kt b/app/android/app/src/main/kotlin/me/movenext/bang_navigator/CompactWidgetProvider.kt similarity index 94% rename from app/android/app/src/main/kotlin/me/movenext/bang_navigator/BangNavigatorWidgetProvider.kt rename to app/android/app/src/main/kotlin/me/movenext/bang_navigator/CompactWidgetProvider.kt index 24bf6b28..02413da5 100644 --- a/app/android/app/src/main/kotlin/me/movenext/bang_navigator/BangNavigatorWidgetProvider.kt +++ b/app/android/app/src/main/kotlin/me/movenext/bang_navigator/CompactWidgetProvider.kt @@ -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, diff --git a/app/android/app/src/main/kotlin/me/movenext/bang_navigator/FullWidgetProvider.kt b/app/android/app/src/main/kotlin/me/movenext/bang_navigator/FullWidgetProvider.kt new file mode 100644 index 00000000..e5cd7f91 --- /dev/null +++ b/app/android/app/src/main/kotlin/me/movenext/bang_navigator/FullWidgetProvider.kt @@ -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) + } + } +} \ No newline at end of file diff --git a/app/android/app/src/main/kotlin/me/movenext/bang_navigator/SearchBarWidgetProvider.kt b/app/android/app/src/main/kotlin/me/movenext/bang_navigator/SearchBarWidgetProvider.kt new file mode 100644 index 00000000..bcecdec3 --- /dev/null +++ b/app/android/app/src/main/kotlin/me/movenext/bang_navigator/SearchBarWidgetProvider.kt @@ -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) + } + } +} \ No newline at end of file diff --git a/app/android/app/src/main/res/layout/compact_widget.xml b/app/android/app/src/main/res/layout/compact_widget.xml new file mode 100644 index 00000000..ce290434 --- /dev/null +++ b/app/android/app/src/main/res/layout/compact_widget.xml @@ -0,0 +1,44 @@ + + +