Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
84 changes: 66 additions & 18 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -7,31 +7,79 @@ plugins {



kotlin {
compilerOptions {
jvmTarget.set(JvmTarget.JVM_21)
freeCompilerArgs.add("-Xannotation-default-target=param-property")
optIn.addAll(
"androidx.compose.material3.ExperimentalMaterial3Api",
"androidx.compose.material3.ExperimentalMaterial3ExpressiveApi",
"androidx.compose.foundation.ExperimentalFoundationApi",
"androidx.compose.ui.text.ExperimentalTextApi",
"androidx.compose.foundation.ExperimentalFoundationApi",
"androidx.compose.foundation.layout.ExperimentalLayoutApi"
)
}
}
kotlin {
compilerOptions {
jvmTarget.set(JvmTarget.JVM_21)
freeCompilerArgs.add("-Xannotation-default-target=param-property")
optIn.addAll(
"androidx.compose.material3.ExperimentalMaterial3Api",
"androidx.compose.material3.ExperimentalMaterial3ExpressiveApi",
"androidx.compose.foundation.ExperimentalFoundationApi",
"androidx.compose.ui.text.ExperimentalTextApi",
"androidx.compose.foundation.ExperimentalFoundationApi",
"androidx.compose.foundation.layout.ExperimentalLayoutApi"
)
}
}

android {
namespace = "com.sameerasw.essentials"
compileSdk = 37

androidResources {
localeFilters += listOf(
"en", "ach", "af", "ar", "bn", "bn-rBD", "ca", "cs", "da", "de", "el", "es", "fi", "fil", "fil-rPH",
"fr", "he", "hi", "hi-rIN", "hu", "id", "in", "in-rID", "it", "iw", "ja", "ko", "ml", "ml-rIN",
"ne", "ne-rNP", "nl", "no", "pl", "pt", "pt-rBR", "pt-rPT", "ro", "ru", "si", "sk", "sk-rSK",
"sr", "sv", "ta", "ta-rIN", "tr", "uk", "vi", "zh", "zh-rCN", "zh-rTW"
"en",
"ach",
"af",
"ar",
"bn",
"bn-rBD",
"ca",
"cs",
"da",
"de",
"el",
"es",
"fi",
"fil",
"fil-rPH",
"fr",
"he",
"hi",
"hi-rIN",
"hu",
"id",
"in",
"in-rID",
"it",
"iw",
"ja",
"ko",
"ml",
"ml-rIN",
"ne",
"ne-rNP",
"nl",
"no",
"pl",
"pt",
"pt-rBR",
"pt-rPT",
"ro",
"ru",
"si",
"sk",
"sk-rSK",
"sr",
"sv",
"ta",
"ta-rIN",
"tr",
"uk",
"vi",
"zh",
"zh-rCN",
"zh-rTW"
)
}

Expand Down
1 change: 1 addition & 0 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1185,6 +1185,7 @@
<intent-filter>
<action android:name="android.service.quicksettings.action.QS_TILE" />
</intent-filter>

<meta-data
android:name="android.service.quicksettings.ACTION_QS_TILE_PREFERENCES"
android:value="com.sameerasw.essentials.ui.activities.QSPreferencesActivity" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,18 +71,17 @@ import com.sameerasw.essentials.ui.composables.configs.LocationReachedSettingsUI
import com.sameerasw.essentials.ui.composables.configs.LockScreenClockSettingsUI
import com.sameerasw.essentials.ui.composables.configs.MapsPowerSavingSettingsUI
import com.sameerasw.essentials.ui.composables.configs.NotificationLightingSettingsUI
import com.sameerasw.essentials.ui.composables.configs.PowerAndBatterySettingsUI
import com.sameerasw.essentials.ui.composables.configs.NotificationSnoozingSettingsUI
import com.sameerasw.essentials.ui.composables.configs.OtherCustomizationsSettingsUI

import com.sameerasw.essentials.ui.composables.configs.PocketModeSettingsUI
import com.sameerasw.essentials.ui.composables.configs.PowerAndBatterySettingsUI
import com.sameerasw.essentials.ui.composables.configs.QuickSettingsTilesSettingsUI
import com.sameerasw.essentials.ui.composables.configs.RefreshRateSettingsUI
import com.sameerasw.essentials.ui.composables.configs.RemoteLockSettingsUI
import com.sameerasw.essentials.ui.composables.configs.ScreenLockedSecuritySettingsUI
import com.sameerasw.essentials.ui.composables.configs.ScreenOffWidgetSettingsUI
import com.sameerasw.essentials.ui.composables.configs.ShutUpSettingsUI
import com.sameerasw.essentials.ui.composables.configs.SnoozeNotificationsSettingsUI
import com.sameerasw.essentials.ui.composables.configs.NotificationSnoozingSettingsUI
import com.sameerasw.essentials.ui.composables.configs.SoundModeTileSettingsUI
import com.sameerasw.essentials.ui.composables.configs.StatusBarIconSettingsUI
import com.sameerasw.essentials.ui.composables.configs.TextAnimationsSettingsUI
Expand Down Expand Up @@ -230,7 +229,12 @@ class FeatureSettingsActivity : AppCompatActivity() {
mutableStateOf(prefs.getBoolean("watch_sync_sound_mode_enabled", false))
}
var watchSyncLocationReachedEnabled by remember {
mutableStateOf(prefs.getBoolean("watch_sync_location_reached_enabled", true))
mutableStateOf(
prefs.getBoolean(
"watch_sync_location_reached_enabled",
true
)
)
}
androidx.compose.runtime.DisposableEffect(prefs) {
val listener =
Expand Down Expand Up @@ -553,6 +557,7 @@ class FeatureSettingsActivity : AppCompatActivity() {
"Screen refresh rate" -> !com.sameerasw.essentials.utils.ShellUtils.hasPermission(
context
)

"Shut-Up!" -> !isWriteSecureSettingsEnabled || !viewModel.isUsageStatsPermissionGranted.value
"Power and Battery" -> !isWriteSecureSettingsEnabled
"Disable safe volume warning" -> !isWriteSecureSettingsEnabled
Expand Down Expand Up @@ -636,12 +641,12 @@ class FeatureSettingsActivity : AppCompatActivity() {
}

"Statusbar icons" -> {
StatusBarIconSettingsUI(
viewModel = statusBarViewModel,
mainViewModel = viewModel,
modifier = Modifier.padding(top = 16.dp),
highlightSetting = highlightSetting
)
StatusBarIconSettingsUI(
viewModel = statusBarViewModel,
mainViewModel = viewModel,
modifier = Modifier.padding(top = 16.dp),
highlightSetting = highlightSetting
)
}

"Caffeinate" -> {
Expand Down
56 changes: 29 additions & 27 deletions app/src/main/java/com/sameerasw/essentials/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ package com.sameerasw.essentials

import android.animation.ObjectAnimator
import android.content.Intent
import android.graphics.PorterDuff
import android.graphics.PorterDuffColorFilter
import android.os.Build
import android.os.Bundle
import android.util.Log
Expand All @@ -25,25 +27,12 @@ import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.WindowInsets
import androidx.compose.foundation.layout.asPaddingValues
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.statusBars
import androidx.compose.foundation.pager.HorizontalPager
import androidx.compose.foundation.pager.rememberPagerState
import androidx.compose.foundation.layout.offset
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.ui.draw.drawWithContent
import androidx.compose.ui.graphics.BlendMode
import android.graphics.PorterDuff
import android.graphics.PorterDuffColorFilter
import androidx.compose.ui.graphics.toArgb
import com.airbnb.lottie.LottieProperty
import com.airbnb.lottie.compose.LottieAnimation
import com.airbnb.lottie.compose.LottieCompositionSpec
import com.airbnb.lottie.compose.LottieConstants
import com.airbnb.lottie.compose.animateLottieCompositionAsState
import com.airbnb.lottie.compose.rememberLottieComposition
import com.airbnb.lottie.compose.rememberLottieDynamicProperties
import com.airbnb.lottie.compose.rememberLottieDynamicProperty
import androidx.compose.foundation.layout.statusBars
import androidx.compose.foundation.pager.HorizontalPager
import androidx.compose.foundation.pager.rememberPagerState
import androidx.compose.material3.Badge
import androidx.compose.material3.FloatingActionButton
import androidx.compose.material3.Icon
Expand All @@ -60,6 +49,7 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.alpha
import androidx.compose.ui.draw.scale
import androidx.compose.ui.graphics.toArgb
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.LocalView
import androidx.compose.ui.res.painterResource
Expand All @@ -69,6 +59,14 @@ import androidx.compose.ui.zIndex
import androidx.core.animation.doOnEnd
import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen
import androidx.core.view.WindowCompat
import com.airbnb.lottie.LottieProperty
import com.airbnb.lottie.compose.LottieAnimation
import com.airbnb.lottie.compose.LottieCompositionSpec
import com.airbnb.lottie.compose.LottieConstants
import com.airbnb.lottie.compose.animateLottieCompositionAsState
import com.airbnb.lottie.compose.rememberLottieComposition
import com.airbnb.lottie.compose.rememberLottieDynamicProperties
import com.airbnb.lottie.compose.rememberLottieDynamicProperty
import com.sameerasw.essentials.data.repository.SettingsRepository
import com.sameerasw.essentials.domain.DIYTabs
import com.sameerasw.essentials.domain.registry.initPermissionRegistry
Expand Down Expand Up @@ -624,22 +622,26 @@ class MainActivity : AppCompatActivity() {
containerColor = MaterialTheme.colorScheme.error,
contentColor = MaterialTheme.colorScheme.onError
) {
val composition by rememberLottieComposition(LottieCompositionSpec.RawRes(R.raw.update_motion))
val composition by rememberLottieComposition(
LottieCompositionSpec.RawRes(R.raw.update_motion)
)
val progress by animateLottieCompositionAsState(
composition = composition,
iterations = LottieConstants.IterateForever
)
val onErrorColor = MaterialTheme.colorScheme.onError
val dynamicProperties = rememberLottieDynamicProperties(
rememberLottieDynamicProperty(
property = LottieProperty.COLOR_FILTER,
value = PorterDuffColorFilter(
onErrorColor.toArgb(),
PorterDuff.Mode.SRC_ATOP
),
keyPath = arrayOf("**")
val onErrorColor =
MaterialTheme.colorScheme.onError
val dynamicProperties =
rememberLottieDynamicProperties(
rememberLottieDynamicProperty(
property = LottieProperty.COLOR_FILTER,
value = PorterDuffColorFilter(
onErrorColor.toArgb(),
PorterDuff.Mode.SRC_ATOP
),
keyPath = arrayOf("**")
)
)
)

LottieAnimation(
composition = composition,
Expand Down
Loading
Loading