Skip to content

Commit 8bd10ef

Browse files
committed
CHANGELOG: Added TV remote to lockscreen shortcuts
1 parent dfba3d8 commit 8bd10ef

File tree

5 files changed

+40
-1
lines changed

5 files changed

+40
-1
lines changed

.github/edit2MakeNewCanary

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Editing this file will trigger build script for a new Canary.
1+
Editing this file will trigger build script for a new Canary..

app/src/main/java/sh/siava/AOSPMods/systemui/KeyguardMods.java

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,15 @@
3131

3232
import androidx.core.content.res.ResourcesCompat;
3333

34+
import com.topjohnwu.superuser.Shell;
35+
3436
import java.lang.reflect.Method;
3537

3638
import de.robv.android.xposed.XC_MethodHook;
3739
import de.robv.android.xposed.callbacks.XC_LoadPackage;
3840
import sh.siava.AOSPMods.AOSPMods;
41+
import sh.siava.AOSPMods.R;
42+
import sh.siava.AOSPMods.XPrefs;
3943
import sh.siava.AOSPMods.XposedModPack;
4044
import sh.siava.AOSPMods.utils.SettingsLibUtils;
4145
import sh.siava.AOSPMods.utils.StringFormatter;
@@ -78,6 +82,8 @@ public class KeyguardMods extends XposedModPack {
7882

7983
//region keyguard bottom area shortcuts and transparency
8084
private Object NotificationPanelViewController;
85+
// private Object QRScannerController;
86+
// private Object ActivityStarter;
8187
private Object KeyguardBottomAreaView;
8288
private Object mAssistUtils;
8389
private static boolean transparentBGcolor = false;
@@ -157,8 +163,25 @@ public void handleLoadPackage(XC_LoadPackage.LoadPackageParam lpparam) throws Th
157163
Class<?> KeyguardBottomAreaViewBinderClass = findClass("com.android.systemui.keyguard.ui.binder.KeyguardBottomAreaViewBinder", lpparam.classLoader);
158164
Class<?> AssistManager = findClass("com.android.systemui.assist.AssistManager", lpparam.classLoader);
159165
Class<?> NotificationPanelViewControllerClass = findClass("com.android.systemui.shade.NotificationPanelViewController", lpparam.classLoader); //used to launch camera
166+
// Class<?> QRCodeScannerControllerClass = findClass("com.android.systemui.qrcodescanner.controller.QRCodeScannerController", lpparam.classLoader);
167+
// Class<?> ActivityStarterDelegateClass = findClass("com.android.systemui.ActivityStarterDelegate", lpparam.classLoader);
160168
SettingsLibUtils.init(lpparam.classLoader);
161169

170+
/* hookAllConstructors(ActivityStarterDelegateClass, new XC_MethodHook() {
171+
@Override
172+
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
173+
ActivityStarter = param.thisObject;
174+
log("gotcha");
175+
}
176+
});*/
177+
/* hookAllConstructors(QRCodeScannerControllerClass, new XC_MethodHook() {
178+
@Override
179+
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
180+
QRScannerController = param.thisObject;
181+
dumpClass(d);
182+
}
183+
});*/
184+
162185
hookAllConstructors(NotificationPanelViewControllerClass, new XC_MethodHook() {
163186
@Override
164187
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
@@ -405,6 +428,10 @@ private void convertShortcut(ImageView Button, String type) {
405428
View.OnClickListener listener = null;
406429
Drawable drawable = null;
407430
switch (type) {
431+
case "tvremote":
432+
listener = v -> launchTVRemote();
433+
drawable = ResourcesCompat.getDrawable(XPrefs.modRes, R.drawable.ic_remote, mContext.getTheme());
434+
break;
408435
case "camera":
409436
listener = v -> launchCamera();
410437
drawable = ResourcesCompat.getDrawable(mContext.getResources(), mContext.getResources().getIdentifier("ic_camera_alt_24dp", "drawable", mContext.getPackageName()), mContext.getTheme());
@@ -428,6 +455,10 @@ private void convertShortcut(ImageView Button, String type) {
428455
}
429456
}
430457

458+
private void launchTVRemote() {
459+
Shell.cmd("pm enable com.google.android.videos; am start -n com.google.android.videos/com.google.android.apps.play.movies.common.remote.RemoteDevicesListActivity").exec();
460+
}
461+
431462
private void launchCamera() {
432463
if(NotificationPanelViewController != null) {
433464
callMethod(NotificationPanelViewController, "launchCamera", 0);
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<vector android:height="40.0dip" android:width="40.0dip" android:viewportWidth="40.0" android:viewportHeight="40.0"
3+
xmlns:android="http://schemas.android.com/apk/res/android">
4+
<path android:fillColor="#ffffffff" android:pathData="M13,0C11.8954,0 11,0.8954 11,2V38C11,39.1046 11.8954,40 13,40H27C28.1046,40 29,39.1046 29,38V2C29,0.8954 28.1046,0 27,0H13ZM27,15C27,18.866 23.866,22 20,22C16.134,22 13,18.866 13,15C13,11.134 16.134,8 20,8C23.866,8 27,11.134 27,15ZM22.625,15C22.625,16.4497 21.4497,17.625 20,17.625C18.5503,17.625 17.375,16.4497 17.375,15C17.375,13.5503 18.5503,12.375 20,12.375C21.4497,12.375 22.625,13.5503 22.625,15ZM22,4C22,5.1046 21.1046,6 20,6C18.8954,6 18,5.1046 18,4C18,2.8954 18.8954,2 20,2C21.1046,2 22,2.8954 22,4ZM20,28C21.1046,28 22,27.1046 22,26C22,24.8954 21.1046,24 20,24C18.8954,24 18,24.8954 18,26C18,27.1046 18.8954,28 20,28Z" android:fillType="evenOdd" />
5+
</vector>

app/src/main/res/values/arrays.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,15 @@
55
<item>@string/camera_shortcut</item>
66
<item>@string/assistant_shortcut</item>
77
<item>@string/torch_shortcut</item>
8+
<item>@string/tv_remote_shortcut</item>
89
</array>
910

1011
<array name="lockScreenShortcut_values">
1112
<item>""</item>
1213
<item>camera</item>
1314
<item>assistant</item>
1415
<item>torch</item>
16+
<item>tvremote</item>
1517
</array>
1618

1719
<string-array name="qs_pulldown_side_names">

app/src/main/res/values/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
<string name="camera_shortcut">Camera</string>
4646
<string name="assistant_shortcut">Assistant</string>
4747
<string name="torch_shortcut">Flashlight</string>
48+
<string name="tv_remote_shortcut">TV Remote</string>
4849
<string name="album_art_category">Media options</string>
4950
<string name="album_art_title">Enable album art when playing media</string>
5051
<string name="album_art_blur_text">Blur value</string>

0 commit comments

Comments
 (0)