Add NTFY configuration settings and persistence using SharedPreferences

Komit ini mengimplementasikan fitur konfigurasi endpoint NTFY yang dinamis dan menyimpannya menggunakan SharedPreferences. Ini mencakup penambahan layar pengaturan (SettingsScreen), perbaikan navigasi kembali menggunakan BackHandler, dan pembaruan fungsi sendNotification agar membaca URL dari konfigurasi yang disimpan.
This commit is contained in:
dend 2025-11-28 00:36:06 +07:00
parent 358eb6e860
commit 8a0bef9d0d
2 changed files with 22 additions and 17 deletions

View File

@ -42,17 +42,26 @@ android {
}
dependencies {
// OkHttp untuk HTTP request
implementation("com.squareup.okhttp3:okhttp:4.11.0")
implementation("androidx.compose.material3:material3:1.1.1")
// Coroutines untuk manajemen thread, penting untuk OkHttp
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3")
// Core AndroidX dan Compose BOM
implementation(libs.androidx.core.ktx)
implementation(libs.androidx.lifecycle.runtime.ktx)
implementation(libs.androidx.activity.compose)
implementation(platform(libs.androidx.compose.bom))
// Compose UI & Material3
implementation(libs.androidx.compose.ui)
implementation(libs.androidx.compose.ui.graphics)
implementation(libs.androidx.compose.ui.tooling.preview)
implementation(libs.androidx.compose.material3)
implementation(libs.androidx.compose.material3) // Diambil dari BOM
implementation(libs.androidx.compose.foundation)
// Tools dan Testing
implementation(libs.androidx.compose.ui.tooling.preview)
testImplementation(libs.junit)
androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core)
@ -61,10 +70,4 @@ dependencies {
debugImplementation(libs.androidx.compose.ui.tooling)
debugImplementation(libs.androidx.compose.ui.test.manifest)
implementation("com.squareup.okhttp3:okhttp:4.11.0")
implementation("androidx.compose.material3:material3:1.1.1")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3")
}

View File

@ -1,11 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto">
xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
@ -15,7 +12,9 @@
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.PanicButton">
android:theme="@style/Theme.PanicButton"
android:usesCleartextTraffic="true"
>
<activity
android:name="id.ac.ubharajaya.panicbutton.MainActivity"
@ -25,13 +24,16 @@
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".JalurEvakuasiActivity" />
<activity android:name=".AlertActivity" />
<activity android:name=".JalurEvakuasiActivity"
android:exported="false" />
<activity android:name=".AlertActivity"
android:exported="false" />
</application>
</manifest>