Skip to content

Commit 9612617

Browse files
fix. notification icon #11
1 parent 15416b6 commit 9612617

4 files changed

Lines changed: 38 additions & 4 deletions

File tree

app/build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,8 @@ android {
8686
targetSdk = 28
8787

8888
//versioning
89-
versionCode = 7
90-
versionName = "1.2.0"
89+
versionCode = 8
90+
versionName = "1.2.1"
9191
vectorDrawables {
9292
useSupportLibrary = true
9393
}

core/main/src/main/java/com/rk/terminal/service/SessionService.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import androidx.compose.runtime.mutableStateMapOf
1212
import androidx.compose.runtime.mutableStateOf
1313
import androidx.core.app.NotificationCompat
1414
import com.rk.resources.drawables
15+
import com.rk.resources.strings
1516
import com.rk.terminal.ui.activities.terminal.MainActivity
1617
import com.rk.terminal.ui.screens.settings.Settings
1718
import com.rk.terminal.ui.screens.terminal.MkSession
@@ -119,9 +120,9 @@ class SessionService : Service() {
119120
)
120121

121122
return NotificationCompat.Builder(this, CHANNEL_ID)
122-
.setContentTitle("Terminal")
123+
.setContentTitle("ReTerminal")
123124
.setContentText(getNotificationContentText())
124-
.setSmallIcon(drawables.baseline_android_24)
125+
.setSmallIcon(drawables.terminal)
125126
.setContentIntent(pendingIntent)
126127
.addAction(
127128
NotificationCompat.Action.Builder(

core/main/src/main/java/com/rk/terminal/ui/activities/terminal/MainActivity.kt

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import android.content.ComponentName
66
import android.content.Context
77
import android.content.Intent
88
import android.content.ServiceConnection
9+
import android.content.pm.PackageManager
910
import android.graphics.Rect
1011
import android.graphics.drawable.Drawable
1112
import android.os.Build
@@ -16,12 +17,14 @@ import android.view.inputmethod.InputMethodManager
1617
import androidx.activity.ComponentActivity
1718
import androidx.activity.compose.setContent
1819
import androidx.activity.enableEdgeToEdge
20+
import androidx.activity.result.contract.ActivityResultContracts
1921
import androidx.compose.foundation.layout.Box
2022
import androidx.compose.foundation.layout.fillMaxSize
2123
import androidx.compose.material3.Surface
2224
import androidx.compose.runtime.Composable
2325
import androidx.compose.ui.Alignment
2426
import androidx.compose.ui.Modifier
27+
import androidx.core.content.ContextCompat
2528
import androidx.lifecycle.lifecycleScope
2629
import androidx.navigation.compose.rememberNavController
2730
import com.rk.terminal.service.SessionService
@@ -84,10 +87,30 @@ class MainActivity : ComponentActivity() {
8487
}
8588
}
8689

90+
91+
private var denied = 1
92+
private val requestNotificationPermission =
93+
registerForActivityResult(ActivityResultContracts.RequestPermission()) { isGranted ->
94+
if (!isGranted && denied <= 2) {
95+
denied++
96+
requestPermission()
97+
}
98+
}
99+
100+
fun requestPermission(){
101+
// Only request on Android 13+ (API 33+)
102+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
103+
if (ContextCompat.checkSelfPermission(this, android.Manifest.permission.POST_NOTIFICATIONS) != PackageManager.PERMISSION_GRANTED) {
104+
requestNotificationPermission.launch(android.Manifest.permission.POST_NOTIFICATIONS)
105+
}
106+
}
107+
}
108+
87109
var isKeyboardVisible = false
88110
override fun onCreate(savedInstanceState: Bundle?) {
89111
super.onCreate(savedInstanceState)
90112
enableEdgeToEdge()
113+
requestPermission()
91114

92115
if (intent.hasExtra("awake_intent")){
93116
moveTaskToBack(true)
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
2+
android:width="24dp"
3+
android:height="24dp"
4+
android:tint="?attr/colorControlNormal"
5+
android:viewportWidth="960"
6+
android:viewportHeight="960">
7+
<path
8+
android:fillColor="@android:color/white"
9+
android:pathData="M160,800Q127,800 103.5,776.5Q80,753 80,720L80,240Q80,207 103.5,183.5Q127,160 160,160L800,160Q833,160 856.5,183.5Q880,207 880,240L880,720Q880,753 856.5,776.5Q833,800 800,800L160,800ZM160,720L800,720Q800,720 800,720Q800,720 800,720L800,320L160,320L160,720Q160,720 160,720Q160,720 160,720ZM300,680L244,624L347,520L243,416L300,360L460,520L300,680ZM480,680L480,600L720,600L720,680L480,680Z" />
10+
</vector>

0 commit comments

Comments
 (0)