Add haptic feedback, rich task completion, and Google Sign-In preparation
- Add platform haptic feedback abstraction (HapticFeedback.kt) with implementations for Android, iOS, JVM, JS, and WASM - Enhance CompleteTaskDialog with interactive 5-star rating, image thumbnails, and haptic feedback - Add ImageBitmap platform abstraction for displaying selected images - Localize TaskTemplatesBrowserSheet with string resources - Add Android widgets infrastructure (small, medium, large sizes) - Add Google Sign-In button components and auth flow preparation - Update strings.xml with new localization keys for completions, templates, and document features - Integrate haptic feedback into ThemePickerDialog 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -100,6 +100,54 @@
|
||||
<action android:name="com.example.casera.ACTION_UNCANCEL_TASK" />
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
<!-- Widget Task Complete Receiver -->
|
||||
<receiver
|
||||
android:name=".widget.WidgetTaskActionReceiver"
|
||||
android:exported="false">
|
||||
<intent-filter>
|
||||
<action android:name="com.example.casera.COMPLETE_TASK" />
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
<!-- Small Widget Receiver (2x1) -->
|
||||
<receiver
|
||||
android:name=".widget.CaseraSmallWidgetReceiver"
|
||||
android:exported="true"
|
||||
android:label="@string/widget_small_name">
|
||||
<intent-filter>
|
||||
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
|
||||
</intent-filter>
|
||||
<meta-data
|
||||
android:name="android.appwidget.provider"
|
||||
android:resource="@xml/casera_small_widget_info" />
|
||||
</receiver>
|
||||
|
||||
<!-- Medium Widget Receiver (4x2) -->
|
||||
<receiver
|
||||
android:name=".widget.CaseraMediumWidgetReceiver"
|
||||
android:exported="true"
|
||||
android:label="@string/widget_medium_name">
|
||||
<intent-filter>
|
||||
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
|
||||
</intent-filter>
|
||||
<meta-data
|
||||
android:name="android.appwidget.provider"
|
||||
android:resource="@xml/casera_medium_widget_info" />
|
||||
</receiver>
|
||||
|
||||
<!-- Large Widget Receiver (4x4) -->
|
||||
<receiver
|
||||
android:name=".widget.CaseraLargeWidgetReceiver"
|
||||
android:exported="true"
|
||||
android:label="@string/widget_large_name">
|
||||
<intent-filter>
|
||||
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
|
||||
</intent-filter>
|
||||
<meta-data
|
||||
android:name="android.appwidget.provider"
|
||||
android:resource="@xml/casera_large_widget_info" />
|
||||
</receiver>
|
||||
</application>
|
||||
|
||||
</manifest>
|
||||
Reference in New Issue
Block a user