Skip to content

Commit e3b0cee

Browse files
committed
fix: Resolve remaining compilation errors
- Fix ReminderReceiver: use Class.forName() to avoid Intent type shadowing - Fix NoteWidgetProvider: use Class.forName() to avoid import conflicts - Fix NoteQuickNoteWidget: use Class.forName() for EditorActivity - Fix MainActivity: use ActivityResultContracts.GetContent("*/*") without manual Intent - Remove unused Intent import from widgets
1 parent 621342d commit e3b0cee

File tree

4 files changed

+19
-31
lines changed

4 files changed

+19
-31
lines changed

app/src/main/kotlin/com/kitabu/app/ui/notes/MainActivity.kt

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ class MainActivity : AppCompatActivity() {
4444
private var showingTrashed = false
4545
private var showingFavorites = false
4646

47-
private val importLauncher = registerForActivityResult(ActivityResultContracts.GetContent()) { uri: Uri? ->
47+
private val importLauncher = registerForActivityResult(ActivityResultContracts.GetContent("*/*")) { uri: Uri? ->
4848
uri?.let { handleImport(it) }
4949
}
5050

@@ -320,11 +320,7 @@ class MainActivity : AppCompatActivity() {
320320
}
321321

322322
private fun importNotes() {
323-
val intent = Intent(Intent.ACTION_GET_CONTENT).apply {
324-
type = "*/*"
325-
addCategory(Intent.CATEGORY_OPENABLE)
326-
}
327-
importLauncher.launch(intent)
323+
importLauncher.launch(null)
328324
}
329325

330326
private fun handleImport(uri: Uri) {

app/src/main/kotlin/com/kitabu/app/ui/reminder/ReminderReceiver.kt

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,8 @@ import android.app.NotificationManager
55
import android.app.PendingIntent
66
import android.content.BroadcastReceiver
77
import android.content.Context
8-
import android.content.Intent
8+
import android.content.Intent as AndroidIntent
99
import androidx.core.app.NotificationCompat
10-
import com.kitabu.app.MainActivity
11-
import com.kitabu.app.R
1210

1311
class ReminderReceiver : BroadcastReceiver() {
1412

@@ -20,22 +18,22 @@ class ReminderReceiver : BroadcastReceiver() {
2018
const val CHANNEL_NAME = "Note Reminders"
2119
}
2220

23-
override fun onReceive(context: Context, intent: android.content.Intent) {
21+
override fun onReceive(context: Context, intent: AndroidIntent) {
2422
val noteId = intent.getIntExtra(EXTRA_NOTE_ID, -1)
2523
val title = intent.getStringExtra(EXTRA_NOTE_TITLE) ?: "Note Reminder"
26-
val content = intent.getStringExtra(EXTRA_NOTE_CONTENT) ?: ""
24+
val content = intent.getStringExtra(EXTRA_CONTENT) ?: ""
2725

2826
createNotificationChannel(context)
2927

30-
val openIntent = Intent(context, MainActivity::class.java)
28+
val openIntent = AndroidIntent(context, Class.forName("com.kitabu.app.ui.notes.MainActivity"))
3129
openIntent.putExtra("open_note_id", noteId)
32-
openIntent.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TOP
30+
openIntent.flags = AndroidIntent.FLAG_ACTIVITY_NEW_TASK or AndroidIntent.FLAG_ACTIVITY_CLEAR_TOP
3331

3432
val pFlags = PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE
3533
val pendingIntent = PendingIntent.getActivity(context, noteId, openIntent, pFlags)
3634

3735
val notification = NotificationCompat.Builder(context, CHANNEL_ID)
38-
.setSmallIcon(R.drawable.ic_calendar)
36+
.setSmallIcon(android.R.drawable.ic_dialog_info)
3937
.setContentTitle(title)
4038
.setContentText(content)
4139
.setStyle(NotificationCompat.BigTextStyle().bigText(content))

app/src/main/kotlin/com/kitabu/app/ui/widget/NoteQuickNoteWidget.kt

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,8 @@ import android.app.PendingIntent
44
import android.appwidget.AppWidgetManager
55
import android.appwidget.AppWidgetProvider
66
import android.content.Context
7-
import android.content.Intent
7+
import android.content.Intent as AndroidIntent
88
import android.widget.RemoteViews
9-
import com.kitabu.app.ui.editor.EditorActivity
109
import com.kitabu.app.R
1110

1211
class NoteQuickNoteWidget : AppWidgetProvider() {
@@ -16,11 +15,10 @@ class NoteQuickNoteWidget : AppWidgetProvider() {
1615
val views = RemoteViews(context.packageName, R.layout.widget_quick_note)
1716
views.setTextViewText(R.id.widget_qn_title, "Quick Note")
1817

19-
val openIntent = Intent(context, EditorActivity::class.java).apply {
20-
flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TOP
21-
}
22-
val flags = PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE
23-
val pendingIntent = PendingIntent.getActivity(context, appWidgetId, openIntent, flags)
18+
val openIntent = AndroidIntent(context, Class.forName("com.kitabu.app.ui.editor.EditorActivity"))
19+
openIntent.flags = AndroidIntent.FLAG_ACTIVITY_NEW_TASK or AndroidIntent.FLAG_ACTIVITY_CLEAR_TOP
20+
val pFlags = PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE
21+
val pendingIntent = PendingIntent.getActivity(context, appWidgetId, openIntent, pFlags)
2422
views.setOnClickPendingIntent(R.id.widget_qn_root, pendingIntent)
2523

2624
appWidgetManager.updateAppWidget(appWidgetId, views)

app/src/main/kotlin/com/kitabu/app/ui/widget/NoteWidgetProvider.kt

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,8 @@ import android.app.PendingIntent
44
import android.appwidget.AppWidgetManager
55
import android.appwidget.AppWidgetProvider
66
import android.content.Context
7-
import android.content.Intent
7+
import android.content.Intent as AndroidIntent
88
import android.widget.RemoteViews
9-
import com.kitabu.app.MainActivity
109
import com.kitabu.app.R
1110
import com.kitabu.app.data.KitabuDatabase
1211
import kotlinx.coroutines.CoroutineScope
@@ -29,7 +28,7 @@ class NoteWidgetProvider : AppWidgetProvider() {
2928
super.onUpdate(context, appWidgetManager, appWidgetIds)
3029
}
3130

32-
override fun onReceive(context: Context, intent: Intent) {
31+
override fun onReceive(context: Context, intent: android.content.Intent) {
3332
super.onReceive(context, intent)
3433
if (intent.action == ACTION_REFRESH) {
3534
val appWidgetManager = AppWidgetManager.getInstance(context)
@@ -47,11 +46,9 @@ class NoteWidgetProvider : AppWidgetProvider() {
4746

4847
val views = RemoteViews(context.packageName, R.layout.widget_note_list)
4948

50-
// Set header
5149
views.setTextViewText(R.id.widget_title, "Recent Notes")
5250
views.setTextViewText(R.id.widget_subtitle, "${recentNotes.size} notes")
5351

54-
// Set note list (simplified - shows last note title)
5552
if (recentNotes.isNotEmpty()) {
5653
views.setTextViewText(
5754
R.id.widget_note_preview,
@@ -61,11 +58,10 @@ class NoteWidgetProvider : AppWidgetProvider() {
6158
views.setTextViewText(R.id.widget_note_preview, "No notes yet")
6259
}
6360

64-
// Click to open app
65-
val openIntent = Intent(context, MainActivity::class.java)
66-
openIntent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
67-
val flags = PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE
68-
val pendingIntent = PendingIntent.getActivity(context, appWidgetId, openIntent, flags)
61+
val openIntent = AndroidIntent(context, Class.forName("com.kitabu.app.ui.notes.MainActivity"))
62+
openIntent.flags = AndroidIntent.FLAG_ACTIVITY_NEW_TASK
63+
val pFlags = PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE
64+
val pendingIntent = PendingIntent.getActivity(context, appWidgetId, openIntent, pFlags)
6965
views.setOnClickPendingIntent(R.id.widget_root, pendingIntent)
7066

7167
appWidgetManager.updateAppWidget(appWidgetId, views)

0 commit comments

Comments
 (0)