Fix shortcuts
This commit is contained in:
parent
ba830e8b67
commit
fc3dbb7fb7
3 changed files with 41 additions and 18 deletions
|
@ -13,10 +13,7 @@ import androidx.compose.animation.core.*
|
|||
import androidx.compose.foundation.Image
|
||||
import androidx.compose.foundation.isSystemInDarkTheme
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.LaunchedEffect
|
||||
import androidx.compose.runtime.collectAsState
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.*
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.draw.rotate
|
||||
import androidx.compose.ui.graphics.ColorFilter
|
||||
|
@ -62,6 +59,17 @@ class MainActivity : AppCompatActivity() {
|
|||
View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR or View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR
|
||||
}
|
||||
}
|
||||
val launchIntent = remember { intent }
|
||||
LaunchedEffect(launchIntent) {
|
||||
ShortcutActions.fromIntentAction(launchIntent.action)?.let { action ->
|
||||
if (action == ShortcutActions.DISABLE) {
|
||||
val duration = launchIntent.getIntExtra(DURATION, 0)
|
||||
store.dispatch(Action.Disable(duration.toLong()))
|
||||
} else {
|
||||
store.dispatch(Action.Enable)
|
||||
}
|
||||
}
|
||||
}
|
||||
val state by store.state.collectAsState()
|
||||
val navController = rememberNavController()
|
||||
LaunchedEffect(state.route) {
|
||||
|
@ -147,3 +155,18 @@ fun LoadingSpinner(animate: Boolean = false) {
|
|||
fun LoadingSpinner_Preview() {
|
||||
LoadingSpinner()
|
||||
}
|
||||
|
||||
enum class ShortcutActions(val fullName: String) {
|
||||
ENABLE("com.wbrawner.pihelper.ShortcutActions.ENABLE"),
|
||||
DISABLE("com.wbrawner.pihelper.ShortcutActions.DISABLE");
|
||||
|
||||
companion object {
|
||||
fun fromIntentAction(action: String?): ShortcutActions? = when (action) {
|
||||
ENABLE.fullName -> ENABLE
|
||||
DISABLE.fullName -> DISABLE
|
||||
else -> null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const val DURATION: String = "com.wbrawner.pihelper.MainActivityKt.DURATION"
|
||||
|
|
|
@ -7,11 +7,11 @@
|
|||
android:shortcutLongLabel="@string/action_disable_5_minutes"
|
||||
android:shortcutShortLabel="@string/action_disable_5_minutes_short">
|
||||
<intent
|
||||
android:action="com.wbrawner.pihelper.MainFragment.ACTION_DISABLE"
|
||||
android:action="com.wbrawner.pihelper.ShortcutActions.DISABLE"
|
||||
android:targetClass="com.wbrawner.pihelper.MainActivity"
|
||||
android:targetPackage="com.wbrawner.pihelper">
|
||||
<extra
|
||||
android:name="com.wbrawner.pihelper.MainFragment.EXTRA_DURATION"
|
||||
android:name="com.wbrawner.pihelper.MainActivityKt.DURATION"
|
||||
android:value="300" />
|
||||
</intent>
|
||||
</shortcut>
|
||||
|
@ -23,11 +23,11 @@
|
|||
android:shortcutLongLabel="@string/action_disable_30_seconds"
|
||||
android:shortcutShortLabel="@string/action_disable_30_seconds_short">
|
||||
<intent
|
||||
android:action="com.wbrawner.pihelper.MainFragment.ACTION_DISABLE"
|
||||
android:action="com.wbrawner.pihelper.ShortcutActions.DISABLE"
|
||||
android:targetClass="com.wbrawner.pihelper.MainActivity"
|
||||
android:targetPackage="com.wbrawner.pihelper">
|
||||
<extra
|
||||
android:name="com.wbrawner.pihelper.MainFragment.EXTRA_DURATION"
|
||||
android:name="com.wbrawner.pihelper.MainActivityKt.DURATION"
|
||||
android:value="30" />
|
||||
</intent>
|
||||
</shortcut>
|
||||
|
@ -39,11 +39,11 @@
|
|||
android:shortcutLongLabel="@string/action_disable_10_seconds"
|
||||
android:shortcutShortLabel="@string/action_disable_10_seconds_short">
|
||||
<intent
|
||||
android:action="com.wbrawner.pihelper.MainFragment.ACTION_DISABLE"
|
||||
android:action="com.wbrawner.pihelper.ShortcutActions.DISABLE"
|
||||
android:targetClass="com.wbrawner.pihelper.MainActivity"
|
||||
android:targetPackage="com.wbrawner.pihelper">
|
||||
<extra
|
||||
android:name="com.wbrawner.pihelper.MainFragment.EXTRA_DURATION"
|
||||
android:name="com.wbrawner.pihelper.MainActivityKt.DURATION"
|
||||
android:value="10" />
|
||||
</intent>
|
||||
</shortcut>
|
||||
|
@ -55,7 +55,7 @@
|
|||
android:shortcutLongLabel="@string/action_enable"
|
||||
android:shortcutShortLabel="@string/action_enable">
|
||||
<intent
|
||||
android:action="com.wbrawner.pihelper.MainFragment.ACTION_ENABLE"
|
||||
android:action="com.wbrawner.pihelper.ShortcutActions.ENABLE"
|
||||
android:targetClass="com.wbrawner.pihelper.MainActivity"
|
||||
android:targetPackage="com.wbrawner.pihelper" />
|
||||
</shortcut>
|
||||
|
|
|
@ -4,11 +4,11 @@
|
|||
android:enabled="true"
|
||||
android:icon="@drawable/ic_shortcut_pause">
|
||||
<intent
|
||||
android:action="com.wbrawner.pihelper.MainFragment.ACTION_DISABLE"
|
||||
android:action="com.wbrawner.pihelper.ShortcutActions.DISABLE"
|
||||
android:targetClass="com.wbrawner.pihelper.MainActivity"
|
||||
android:targetPackage="com.wbrawner.pihelper">
|
||||
<extra
|
||||
android:name="com.wbrawner.pihelper.MainFragment.EXTRA_DURATION"
|
||||
android:name="com.wbrawner.pihelper.MainActivityKt.DURATION"
|
||||
android:value="300" />
|
||||
</intent>
|
||||
</shortcut>
|
||||
|
@ -17,11 +17,11 @@
|
|||
android:enabled="true"
|
||||
android:icon="@drawable/ic_shortcut_pause">
|
||||
<intent
|
||||
android:action="com.wbrawner.pihelper.MainFragment.ACTION_DISABLE"
|
||||
android:action="com.wbrawner.pihelper.ShortcutActions.DISABLE"
|
||||
android:targetClass="com.wbrawner.pihelper.MainActivity"
|
||||
android:targetPackage="com.wbrawner.pihelper">
|
||||
<extra
|
||||
android:name="com.wbrawner.pihelper.MainFragment.EXTRA_DURATION"
|
||||
android:name="com.wbrawner.pihelper.MainActivityKt.DURATION"
|
||||
android:value="30" />
|
||||
</intent>
|
||||
</shortcut>
|
||||
|
@ -30,11 +30,11 @@
|
|||
android:enabled="true"
|
||||
android:icon="@drawable/ic_shortcut_pause">
|
||||
<intent
|
||||
android:action="com.wbrawner.pihelper.MainFragment.ACTION_DISABLE"
|
||||
android:action="com.wbrawner.pihelper.ShortcutActions.DISABLE"
|
||||
android:targetClass="com.wbrawner.pihelper.MainActivity"
|
||||
android:targetPackage="com.wbrawner.pihelper">
|
||||
<extra
|
||||
android:name="com.wbrawner.pihelper.MainFragment.EXTRA_DURATION"
|
||||
android:name="com.wbrawner.pihelper.MainActivityKt.DURATION"
|
||||
android:value="10" />
|
||||
</intent>
|
||||
</shortcut>
|
||||
|
@ -43,7 +43,7 @@
|
|||
android:enabled="true"
|
||||
android:icon="@drawable/ic_shortcut_enable">
|
||||
<intent
|
||||
android:action="com.wbrawner.pihelper.MainFragment.ACTION_ENABLE"
|
||||
android:action="com.wbrawner.pihelper.ShortcutActions.ENABLE"
|
||||
android:targetClass="com.wbrawner.pihelper.MainActivity"
|
||||
android:targetPackage="com.wbrawner.pihelper" />
|
||||
</shortcut>
|
||||
|
|
Loading…
Reference in a new issue