mirror of
https://github.com/jrpie/Launcher.git
synced 2025-02-23 14:31:30 +01:00
feature #28: action to open notification panel
This commit is contained in:
parent
9582113bcf
commit
25905f1116
6 changed files with 28 additions and 0 deletions
|
@ -6,6 +6,7 @@
|
||||||
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"
|
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"
|
||||||
tools:ignore="QueryAllPackagesPermission" />
|
tools:ignore="QueryAllPackagesPermission" />
|
||||||
<uses-permission android:name="android.permission.ACCESS_HIDDEN_PROFILES" />
|
<uses-permission android:name="android.permission.ACCESS_HIDDEN_PROFILES" />
|
||||||
|
<uses-permission android:name="android.permission.EXPAND_STATUS_BAR" />
|
||||||
|
|
||||||
|
|
||||||
<application
|
<application
|
||||||
|
|
|
@ -223,6 +223,19 @@ fun audioVolumeDown(activity: Activity) {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun expandNotificationsPanel(activity: Activity) {
|
||||||
|
/* https://stackoverflow.com/a/15582509 */
|
||||||
|
try {
|
||||||
|
@Suppress("SpellCheckingInspection")
|
||||||
|
val statusBarService: Any? = activity.getSystemService("statusbar")
|
||||||
|
val statusBarManager = Class.forName("android.app.StatusBarManager")
|
||||||
|
val showStatusBar = statusBarManager.getMethod("expandNotificationsPanel")
|
||||||
|
showStatusBar.invoke(statusBarService)
|
||||||
|
} catch (e: Exception) {
|
||||||
|
Toast.makeText(activity, activity.getString(R.string.alert_cant_expand_notifications_panel), Toast.LENGTH_LONG).show()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* --- */
|
/* --- */
|
||||||
|
|
||||||
fun getUserFromId(user: Int?, context: Context): UserHandle? {
|
fun getUserFromId(user: Int?, context: Context): UserHandle? {
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
package de.jrpie.android.launcher
|
||||||
|
|
|
@ -6,6 +6,7 @@ import de.jrpie.android.launcher.audioNextTrack
|
||||||
import de.jrpie.android.launcher.audioPreviousTrack
|
import de.jrpie.android.launcher.audioPreviousTrack
|
||||||
import de.jrpie.android.launcher.audioVolumeDown
|
import de.jrpie.android.launcher.audioVolumeDown
|
||||||
import de.jrpie.android.launcher.audioVolumeUp
|
import de.jrpie.android.launcher.audioVolumeUp
|
||||||
|
import de.jrpie.android.launcher.expandNotificationsPanel
|
||||||
import de.jrpie.android.launcher.openAppsList
|
import de.jrpie.android.launcher.openAppsList
|
||||||
import de.jrpie.android.launcher.openSettings
|
import de.jrpie.android.launcher.openSettings
|
||||||
|
|
||||||
|
@ -24,6 +25,10 @@ enum class LauncherAction(val id: String, val label: Int, val icon: Int, val lau
|
||||||
TRACK_PREV("launcher:previousTrack",
|
TRACK_PREV("launcher:previousTrack",
|
||||||
R.string.list_other_track_previous,
|
R.string.list_other_track_previous,
|
||||||
R.drawable.baseline_skip_previous_24, ::audioPreviousTrack),
|
R.drawable.baseline_skip_previous_24, ::audioPreviousTrack),
|
||||||
|
EXPAND_NOTIFICATIONS_PANEL("launcher:expandNotificationsPanel",
|
||||||
|
R.string.list_other_expand_notifications_panel,
|
||||||
|
R.drawable.baseline_notifications_24,
|
||||||
|
::expandNotificationsPanel),
|
||||||
NOP("launcher:nop", R.string.list_other_nop, R.drawable.baseline_not_interested_24, {});
|
NOP("launcher:nop", R.string.list_other_nop, R.drawable.baseline_not_interested_24, {});
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
|
5
app/src/main/res/drawable/baseline_notifications_24.xml
Normal file
5
app/src/main/res/drawable/baseline_notifications_24.xml
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#FFFFFF" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp">
|
||||||
|
|
||||||
|
<path android:fillColor="@android:color/white" android:pathData="M12,22c1.1,0 2,-0.9 2,-2h-4c0,1.1 0.89,2 2,2zM18,16v-5c0,-3.07 -1.64,-5.64 -4.5,-6.32L13.5,4c0,-0.83 -0.67,-1.5 -1.5,-1.5s-1.5,0.67 -1.5,1.5v0.68C7.63,5.36 6,7.92 6,11v5l-2,2v1h16v-1l-2,-2z"/>
|
||||||
|
|
||||||
|
</vector>
|
|
@ -157,6 +157,7 @@
|
||||||
<string name="list_other_volume_down">Music: Quieter</string>
|
<string name="list_other_volume_down">Music: Quieter</string>
|
||||||
<string name="list_other_track_next">Music: Next</string>
|
<string name="list_other_track_next">Music: Next</string>
|
||||||
<string name="list_other_track_previous">Music: Previous</string>
|
<string name="list_other_track_previous">Music: Previous</string>
|
||||||
|
<string name="list_other_expand_notifications_panel">Expand notifications panel</string>
|
||||||
<string name="list_other_nop">Do nothing</string>
|
<string name="list_other_nop">Do nothing</string>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
|
@ -188,5 +189,6 @@
|
||||||
<string name="settings">Settings</string>
|
<string name="settings">Settings</string>
|
||||||
<string name="ic_menu_alt">More options</string>
|
<string name="ic_menu_alt">More options</string>
|
||||||
<string name="swipe" translatable="false"><![CDATA[>>>>>>]]></string>
|
<string name="swipe" translatable="false"><![CDATA[>>>>>>]]></string>
|
||||||
|
<string name="alert_cant_expand_notifications_panel">Error: Can\'t expand status bar.\nThis action is using functionality that is not part of the published Android API. Unfortunately, it does not seem to work on your device.</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|
Loading…
Add table
Reference in a new issue