mirror of
https://github.com/Anything-at-25-00/android_device_tecno_LG8n.git
synced 2024-11-22 21:56:26 -08:00
LG8n: Nuke InCallService
Signed-off-by: Shirayuki39 <lorddemecrius83@proton.me>
This commit is contained in:
parent
3d546047c1
commit
0d9acc1c18
|
@ -1,31 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (C) 2022 bengris32
|
|
||||||
* Copyright (C) 2022 LineageOS
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
android_app {
|
|
||||||
name: "MtkInCallService",
|
|
||||||
|
|
||||||
srcs: ["src/**/*.java"],
|
|
||||||
resource_dirs: ["res"],
|
|
||||||
|
|
||||||
certificate: "platform",
|
|
||||||
platform_apis: true,
|
|
||||||
privileged: true,
|
|
||||||
|
|
||||||
optimize: {
|
|
||||||
enabled: false,
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,25 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
package="org.lineageos.mediatek.incallservice"
|
|
||||||
android:versionCode="1"
|
|
||||||
android:versionName="1.0"
|
|
||||||
android:sharedUserId="android.uid.system">
|
|
||||||
|
|
||||||
<application
|
|
||||||
android:label="@string/app_name"
|
|
||||||
android:persistent="true">
|
|
||||||
<receiver
|
|
||||||
android:directBootAware="true"
|
|
||||||
android:exported="true"
|
|
||||||
android:name="org.lineageos.mediatek.incallservice.OnLockedBootCompleteReceiver">
|
|
||||||
<intent-filter>
|
|
||||||
<action android:name="android.intent.action.LOCKED_BOOT_COMPLETED" />
|
|
||||||
<category android:name="android.intent.category.DEFAULT" />
|
|
||||||
</intent-filter>
|
|
||||||
</receiver>
|
|
||||||
<service
|
|
||||||
android:directBootAware="true"
|
|
||||||
android:name="org.lineageos.mediatek.incallservice.VolumeChangeService">
|
|
||||||
</service>
|
|
||||||
</application>
|
|
||||||
</manifest>
|
|
|
@ -1,4 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<resources>
|
|
||||||
<string name="app_name">Mediatek In-Call Service</string>
|
|
||||||
</resources>
|
|
|
@ -1,21 +0,0 @@
|
||||||
package org.lineageos.mediatek.incallservice;
|
|
||||||
|
|
||||||
import android.os.SystemProperties;
|
|
||||||
import android.media.AudioSystem;
|
|
||||||
import android.util.Log;
|
|
||||||
|
|
||||||
public class GainUtils {
|
|
||||||
public static final String LOG_TAG = "MediatekInCallService";
|
|
||||||
|
|
||||||
public static void setGainLevel(int audioDevice, int gainIndex, int streamType) {
|
|
||||||
int maxStep = SystemProperties.getInt("ro.config.vc_call_vol_steps", 7);
|
|
||||||
String parameters = String.format("volumeDevice=%d;volumeIndex=%d;volumeStreamType=%d",
|
|
||||||
audioDevice,
|
|
||||||
Math.round(
|
|
||||||
(15.0 / Math.log(maxStep + 1.0))
|
|
||||||
* Math.log(Math.min(maxStep, gainIndex) + 1.0)),
|
|
||||||
streamType);
|
|
||||||
Log.d(LOG_TAG, "Setting audio parameters to: " + parameters);
|
|
||||||
AudioSystem.setParameters(parameters);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,19 +0,0 @@
|
||||||
package org.lineageos.mediatek.incallservice;
|
|
||||||
|
|
||||||
import android.content.BroadcastReceiver;
|
|
||||||
import android.content.Intent;
|
|
||||||
import android.content.Context;
|
|
||||||
|
|
||||||
import android.util.Log;
|
|
||||||
|
|
||||||
public class OnLockedBootCompleteReceiver extends BroadcastReceiver {
|
|
||||||
private static final String LOG_TAG = "MediatekInCallService";
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onReceive(final Context context, Intent intent) {
|
|
||||||
Log.i(LOG_TAG, "onBoot");
|
|
||||||
|
|
||||||
Intent sIntent = new Intent(context, VolumeChangeService.class);
|
|
||||||
context.startService(sIntent);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,41 +0,0 @@
|
||||||
package org.lineageos.mediatek.incallservice;
|
|
||||||
|
|
||||||
import android.content.Intent;
|
|
||||||
import android.content.Context;
|
|
||||||
import android.content.BroadcastReceiver;
|
|
||||||
|
|
||||||
import android.media.AudioManager;
|
|
||||||
import android.media.AudioSystem;
|
|
||||||
import android.media.AudioDeviceInfo;
|
|
||||||
|
|
||||||
import android.util.Log;
|
|
||||||
|
|
||||||
public class VolumeChangeReceiver extends BroadcastReceiver {
|
|
||||||
public static final String LOG_TAG = "MediatekInCallService";
|
|
||||||
|
|
||||||
private AudioManager mAudioManager;
|
|
||||||
|
|
||||||
public VolumeChangeReceiver(AudioManager audioManager) {
|
|
||||||
mAudioManager = audioManager;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void handleVolumeStateChange(Intent intent) {
|
|
||||||
if (intent.getIntExtra(AudioManager.EXTRA_VOLUME_STREAM_TYPE, -1) == AudioManager.STREAM_VOICE_CALL) {
|
|
||||||
AudioDeviceInfo callDevice = mAudioManager.getCommunicationDevice();
|
|
||||||
|
|
||||||
// Try to get volumeIndex
|
|
||||||
int volumeIndex = intent.getIntExtra(AudioManager.EXTRA_VOLUME_STREAM_VALUE, -1);
|
|
||||||
if (volumeIndex < 0) {
|
|
||||||
Log.w(LOG_TAG, "Could not get volumeIndex!");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
GainUtils.setGainLevel(callDevice.getPort().type(), volumeIndex, AudioSystem.STREAM_VOICE_CALL);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onReceive(Context context, Intent intent) {
|
|
||||||
handleVolumeStateChange(intent);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,42 +0,0 @@
|
||||||
package org.lineageos.mediatek.incallservice;
|
|
||||||
|
|
||||||
import android.media.AudioManager;
|
|
||||||
|
|
||||||
import android.content.Intent;
|
|
||||||
import android.content.IntentFilter;
|
|
||||||
import android.content.Context;
|
|
||||||
import android.app.Service;
|
|
||||||
import android.os.IBinder;
|
|
||||||
|
|
||||||
import android.util.Log;
|
|
||||||
|
|
||||||
public class VolumeChangeService extends Service {
|
|
||||||
public static final String LOG_TAG = "MediatekInCallService";
|
|
||||||
|
|
||||||
private Context mContext;
|
|
||||||
private VolumeChangeReceiver mVolumeChangeReceiver;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public IBinder onBind(Intent intent) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onDestroy() {
|
|
||||||
super.onDestroy();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int onStartCommand(Intent intent, int flags, int startid) {
|
|
||||||
mContext = this;
|
|
||||||
|
|
||||||
AudioManager audioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
|
|
||||||
mVolumeChangeReceiver = new VolumeChangeReceiver(audioManager);
|
|
||||||
|
|
||||||
Log.i(LOG_TAG, "Service is starting...");
|
|
||||||
|
|
||||||
this.registerReceiver(mVolumeChangeReceiver,
|
|
||||||
new IntentFilter(AudioManager.VOLUME_CHANGED_ACTION));
|
|
||||||
return START_STICKY;
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in a new issue