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
6 changes: 6 additions & 0 deletions EnableCallRecording/Readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# EnableCallRecord

Enable Call Recording independent of location. Please remember this might be illegal in your country.

Developed and tested on LineageOS.
Only the stock LineageOS Dialer is supported.
12 changes: 12 additions & 0 deletions EnableCallRecording/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
plugins {
alias(libs.plugins.buildlogic.android.application)
}

android {
namespace = "com.programminghoch10.EnableCallRecord"

defaultConfig {
minSdk = 27
targetSdk = 35
}
}
24 changes: 24 additions & 0 deletions EnableCallRecording/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android">

<application android:label="EnableCallRecording">
<meta-data
android:name="xposedmodule"
android:value="true"
/>
<meta-data
android:name="xposeddescription"
android:value="Enable Call Recording independent of country."
/>
<meta-data
android:name="xposedminversion"
android:value="53"
/>
<meta-data
android:name="xposedscope"
android:resource="@array/scope"
/>
</application>

</manifest>
1 change: 1 addition & 0 deletions EnableCallRecording/src/main/assets/xposed_init
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
com.programminghoch10.EnableCallRecording.Hook
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
package com.programminghoch10.EnableCallRecording;

import android.content.Context;

import java.util.Objects;

import com.programminghoch10.EnableCallRecord.BuildConfig;
import de.robv.android.xposed.IXposedHookLoadPackage;
import de.robv.android.xposed.XC_MethodReplacement;
import de.robv.android.xposed.XposedHelpers;
import de.robv.android.xposed.callbacks.XC_LoadPackage;

public class Hook implements IXposedHookLoadPackage {
@Override
public void handleLoadPackage(XC_LoadPackage.LoadPackageParam lpparam) throws Throwable {
if (Objects.equals(lpparam.packageName, BuildConfig.APPLICATION_ID)) return;
if (!Objects.equals(lpparam.packageName, "com.android.dialer")) return;

XposedHelpers.findAndHookMethod(
"com.android.dialer.callrecord.impl.CallRecorderService",
lpparam.classLoader,
"isEnabled",
Context.class,
XC_MethodReplacement.returnConstant(true)
);
XposedHelpers.findAndHookMethod(
"com.android.incallui.call.CallRecorder",
lpparam.classLoader,
"isEnabled",
XC_MethodReplacement.returnConstant(true)
);
XposedHelpers.findAndHookMethod(
"com.android.incallui.call.CallRecorder",
lpparam.classLoader,
"canRecordInCurrentCountry",
XC_MethodReplacement.returnConstant(true)
);
}
}
6 changes: 6 additions & 0 deletions EnableCallRecording/src/main/res/values/arrays.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="scope">
<item>com.android.dialer</item>
</string-array>
</resources>
1 change: 1 addition & 0 deletions modules.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ include(":BetterVerboseWiFiLogging")
include(":ClassHunter")
include(":CodecMod")
include(":DontResetIfBootedAndConnected")
include(":EnableCallRecording")
include(":FreeNotifications")
include(":KeepSplitScreenRatio")
include(":MotionEventMod")
Expand Down