mirror of
https://github.com/Anything-at-25-00/android_device_tecno_LG8n.git
synced 2024-11-26 23:46:27 -08:00
LG8n: Nuke InCallService
Signed-off-by: Shirayuki39 <lorddemecrius83@proton.me>
This commit is contained in:
parent
8d4d8c1b3a
commit
8d24cb6823
|
@ -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