Skip to content

Commit

Permalink
migrate gradle scripts to ksp
Browse files Browse the repository at this point in the history
  • Loading branch information
lucky committed Apr 17, 2024
1 parent c5cf18f commit b706b94
Show file tree
Hide file tree
Showing 16 changed files with 244 additions and 154 deletions.
81 changes: 0 additions & 81 deletions app/build.gradle

This file was deleted.

81 changes: 81 additions & 0 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
plugins {
alias(libs.plugins.androidApplication)
alias(libs.plugins.jetbrainsKotlinAndroid)
alias(libs.plugins.googleDevtoolsKsp)
}

android {
namespace = "me.lucky.silence"
compileSdk = 34

defaultConfig {
applicationId = "me.lucky.silence"
minSdk = 29
targetSdk = 34
versionCode = 50
versionName = "1.11.6"

testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables {
useSupportLibrary = true
}
ksp {
arg("room.schemaLocation", "$projectDir/schemas")
}
}

buildTypes {
release {
isMinifyEnabled = false
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = "17"
}
buildFeatures {
compose = true
}
composeOptions {
kotlinCompilerExtensionVersion = "1.5.11"
}
packaging {
resources {
excludes += "/META-INF/{AL2.0,LGPL2.1}"
}
}
}

dependencies {
implementation(libs.androidx.core.ktx)
// implementation(libs.androidx.lifecycle.runtime.ktx)
implementation(libs.androidx.activity.compose)
implementation(platform(libs.androidx.compose.bom))
implementation(libs.androidx.ui)
// implementation(libs.androidx.ui.graphics)
implementation(libs.androidx.ui.tooling.preview)
implementation(libs.androidx.material3)
testImplementation(libs.junit)
androidTestImplementation(libs.androidx.junit)
// androidTestImplementation(libs.androidx.espresso.core)
androidTestImplementation(platform(libs.androidx.compose.bom))
androidTestImplementation(libs.androidx.ui.test.junit4)
debugImplementation(libs.androidx.ui.tooling)
debugImplementation(libs.androidx.ui.test.manifest)

implementation(libs.androidx.foundation)
implementation(libs.androidx.foundation.layout)
implementation(libs.androidx.navigation.compose)
implementation(libs.androidx.preference.ktx)
implementation(libs.androidx.room.runtime)
ksp(libs.androidx.room.compiler)
implementation(libs.google.libphonenumber)
implementation(libs.guardianproject.panic)
}
5 changes: 4 additions & 1 deletion app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,14 @@
<uses-feature android:name="android.hardware.telephony" android:required="true" />

<application
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.Silence">
android:theme="@style/Theme.Silence"
tools:targetApi="31">

<activity
android:name=".MainActivity"
Expand Down
4 changes: 2 additions & 2 deletions app/src/main/java/me/lucky/silence/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ package me.lucky.silence

import android.os.Build
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.appcompat.app.AppCompatActivity
import androidx.compose.foundation.isSystemInDarkTheme
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.darkColorScheme
Expand All @@ -13,7 +13,7 @@ import androidx.compose.material3.lightColorScheme
import androidx.navigation.compose.rememberNavController
import me.lucky.silence.ui.App

open class MainActivity : AppCompatActivity() {
open class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
NotificationManager(this).createNotificationChannels()
Expand Down
65 changes: 40 additions & 25 deletions app/src/main/java/me/lucky/silence/panic/PanicConnectionActivity.kt
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
package me.lucky.silence.panic

import android.app.Activity
import android.content.pm.PackageManager
import android.os.Bundle
import com.google.android.material.dialog.MaterialAlertDialogBuilder

import androidx.activity.compose.setContent
import androidx.compose.material3.AlertDialog
import androidx.compose.material3.Text
import androidx.compose.material3.TextButton
import androidx.compose.runtime.Composable
import androidx.compose.ui.res.stringResource
import info.guardianproject.panic.PanicResponder
import me.lucky.silence.MainActivity
import me.lucky.silence.R
Expand All @@ -17,30 +22,40 @@ class PanicConnectionActivity : MainActivity() {
}
val sender = PanicResponder.getConnectIntentSender(this)
val packageName = PanicResponder.getTriggerPackageName(this)
if (sender != "" && sender != packageName) showOptInDialog() else finish()
if (sender != "" && sender != packageName)
setContent { ShowOptInDialog(this) } else finish()
}
}

private fun showOptInDialog() {
var app: CharSequence = getString(R.string.panic_app_unknown_app)
val packageName = callingActivity?.packageName
if (packageName != null) {
try {
app = packageManager
.getApplicationLabel(packageManager.getApplicationInfo(packageName, 0))
} catch (_: PackageManager.NameNotFoundException) {}
}
MaterialAlertDialogBuilder(this)
.setTitle(R.string.panic_app_dialog_title)
.setMessage(getString(R.string.panic_app_dialog_message, app))
.setNegativeButton(R.string.allow) { _, _ ->
PanicResponder.setTriggerPackageName(this)
setResult(RESULT_OK)
finish()
}
.setPositiveButton(android.R.string.cancel) { _, _ ->
setResult(RESULT_CANCELED)
finish()
}
.show()
@Composable
fun ShowOptInDialog(ctx: PanicConnectionActivity) {
var app: CharSequence = ctx.getString(R.string.panic_app_unknown_app)
val packageName = ctx.callingActivity?.packageName
if (packageName != null) {
try {
app = ctx.packageManager
.getApplicationLabel(ctx.packageManager.getApplicationInfo(packageName, 0))
} catch (_: PackageManager.NameNotFoundException) {}
}
AlertDialog(
onDismissRequest = {
ctx.setResult(Activity.RESULT_CANCELED)
ctx.finish()
},
confirmButton = {
TextButton(onClick = {
PanicResponder.setTriggerPackageName(ctx)
ctx.setResult(Activity.RESULT_OK)
ctx.finish()
}) { Text(text = stringResource(id = R.string.allow)) }
},
dismissButton = {
TextButton(onClick = {
ctx.setResult(Activity.RESULT_CANCELED)
ctx.finish()
}) { Text(text = stringResource(id = android.R.string.cancel)) }
},
title = { Text(text = stringResource(id = R.string.panic_app_dialog_title)) },
text = { Text(text = stringResource(id = R.string.panic_app_dialog_message, app)) },
)
}
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
package me.lucky.silence.panic

import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity

import androidx.activity.ComponentActivity
import info.guardianproject.panic.Panic
import info.guardianproject.panic.PanicResponder
import me.lucky.silence.AppDatabase
import me.lucky.silence.Preferences
import me.lucky.silence.Utils

class PanicResponderActivity : AppCompatActivity() {
class PanicResponderActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
if (!Panic.isTriggerIntent(intent)) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp

@Composable
fun ClickablePreference(
Expand Down
7 changes: 2 additions & 5 deletions app/src/main/res/values/themes.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Base application theme. -->
<style name="Theme.Silence" parent="Theme.Material3.DayNight.NoActionBar">
<!-- Customize your theme here. -->
<item name="android:windowTranslucentStatus">true</item>
</style>
<style name="Theme.Silence" parent="android:Theme.Material.Light.NoActionBar" />
</resources>
13 changes: 13 additions & 0 deletions app/src/main/res/xml/backup_rules.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?><!--
Sample backup rules file; uncomment and customize as necessary.
See https://developer.android.com/guide/topics/data/autobackup
for details.
Note: This file is ignored for devices older that API 31
See https://developer.android.com/about/versions/12/backup-restore
-->
<full-backup-content>
<!--
<include domain="sharedpref" path="."/>
<exclude domain="sharedpref" path="device.xml"/>
-->
</full-backup-content>
19 changes: 19 additions & 0 deletions app/src/main/res/xml/data_extraction_rules.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?><!--
Sample data extraction rules file; uncomment and customize as necessary.
See https://developer.android.com/about/versions/12/backup-restore#xml-changes
for details.
-->
<data-extraction-rules>
<cloud-backup>
<!-- TODO: Use <include> and <exclude> to control what is backed up.
<include .../>
<exclude .../>
-->
</cloud-backup>
<!--
<device-transfer>
<include .../>
<exclude .../>
</device-transfer>
-->
</data-extraction-rules>
23 changes: 0 additions & 23 deletions build.gradle

This file was deleted.

6 changes: 6 additions & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
alias(libs.plugins.androidApplication) apply false
alias(libs.plugins.jetbrainsKotlinAndroid) apply false
alias(libs.plugins.googleDevtoolsKsp) apply false
}
Loading

0 comments on commit b706b94

Please sign in to comment.