From 620fe5b03da35162392516e99071a668155e0c63 Mon Sep 17 00:00:00 2001 From: xiangwang <2361068835@qq.com> Date: Wed, 11 Jun 2025 11:22:04 +0800 Subject: [PATCH] add alarm and theme funcitons --- java/net/micode/notes/ui/AlarmInitReceiver.java | 7 ++++++- java/net/micode/notes/ui/NoteEditActivity.java | 12 ++++++++---- java/net/micode/notes/ui/NotesListActivity.java | 14 ++++++++++++++ 3 files changed, 28 insertions(+), 5 deletions(-) diff --git a/java/net/micode/notes/ui/AlarmInitReceiver.java b/java/net/micode/notes/ui/AlarmInitReceiver.java index 9443d55..e157c29 100644 --- a/java/net/micode/notes/ui/AlarmInitReceiver.java +++ b/java/net/micode/notes/ui/AlarmInitReceiver.java @@ -23,6 +23,7 @@ import android.content.ContentUris; import android.content.Context; import android.content.Intent; import android.database.Cursor; +import android.os.Build; import net.micode.notes.data.Notes; import net.micode.notes.data.Notes.NoteColumns; @@ -56,7 +57,11 @@ public class AlarmInitReceiver extends BroadcastReceiver { PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, sender, 0); AlarmManager alermManager = (AlarmManager) context .getSystemService(Context.ALARM_SERVICE); - alermManager.set(AlarmManager.RTC_WAKEUP, alertDate, pendingIntent); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + alermManager.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP, alertDate, pendingIntent); + } else { + alermManager.set(AlarmManager.RTC_WAKEUP, alertDate, pendingIntent); + } } while (c.moveToNext()); } c.close(); diff --git a/java/net/micode/notes/ui/NoteEditActivity.java b/java/net/micode/notes/ui/NoteEditActivity.java index e31c19b..bd9ff35 100644 --- a/java/net/micode/notes/ui/NoteEditActivity.java +++ b/java/net/micode/notes/ui/NoteEditActivity.java @@ -28,6 +28,7 @@ import android.content.DialogInterface; import android.content.Intent; import android.content.SharedPreferences; import android.graphics.Paint; +import android.os.Build; import android.os.Bundle; import android.preference.PreferenceManager; import android.text.Spannable; @@ -626,10 +627,13 @@ public class NoteEditActivity extends Activity implements OnClickListener, PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, 0); AlarmManager alarmManager = ((AlarmManager) getSystemService(ALARM_SERVICE)); showAlertHeader(); - if(!set) { - alarmManager.cancel(pendingIntent); - } else { - alarmManager.set(AlarmManager.RTC_WAKEUP, date, pendingIntent); + alarmManager.cancel(pendingIntent); + if(set) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + alarmManager.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP, date, pendingIntent); + } else { + alarmManager.set(AlarmManager.RTC_WAKEUP, date, pendingIntent); + } } } else { /** diff --git a/java/net/micode/notes/ui/NotesListActivity.java b/java/net/micode/notes/ui/NotesListActivity.java index 9fefec3..1920b90 100644 --- a/java/net/micode/notes/ui/NotesListActivity.java +++ b/java/net/micode/notes/ui/NotesListActivity.java @@ -78,6 +78,8 @@ import java.io.InputStream; import java.io.InputStreamReader; import java.util.HashSet; +import androidx.appcompat.app.AppCompatDelegate; + public class NotesListActivity extends Activity implements OnClickListener, OnItemLongClickListener { private static final int FOLDER_NOTE_LIST_QUERY_TOKEN = 0; @@ -207,6 +209,9 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt protected void onStart() { super.onStart(); startAsyncNotesListQuery(); + if (mAddNewNote != null) { + mAddNewNote.setVisibility(View.VISIBLE); + } } private void initResources() { @@ -812,6 +817,15 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt case R.id.menu_search: onSearchRequested(); break; + case R.id.menu_toggle_night_mode: + int currentMode = AppCompatDelegate.getDefaultNightMode(); + if (currentMode == AppCompatDelegate.MODE_NIGHT_YES) { + AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO); + } else { + AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES); + } + recreate(); + return true; default: break; }