Add minimal support for OP6 DND slider
This commit is contained in:
parent
9c74ef21a7
commit
eafa2e451f
|
@ -4,14 +4,21 @@ import android.content.BroadcastReceiver;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
import android.media.AudioManager;
|
||||||
import android.media.AudioSystem;
|
import android.media.AudioSystem;
|
||||||
import android.os.IBinder;
|
import android.os.IBinder;
|
||||||
|
import android.os.UEventObserver;
|
||||||
|
import android.os.SystemProperties;
|
||||||
|
|
||||||
import vendor.qti.hardware.radio.am.V1_0.IQcRilAudioCallback;
|
import vendor.qti.hardware.radio.am.V1_0.IQcRilAudioCallback;
|
||||||
import vendor.qti.hardware.radio.am.V1_0.IQcRilAudio;
|
import vendor.qti.hardware.radio.am.V1_0.IQcRilAudio;
|
||||||
|
|
||||||
public class Service extends android.app.Service {
|
public class Service extends android.app.Service {
|
||||||
|
AudioManager audioManager;
|
||||||
@Override public void onCreate() {
|
@Override public void onCreate() {
|
||||||
|
String fp = SystemProperties.get("ro.vendor.build.fingerprint", "nothing");
|
||||||
|
audioManager = getSystemService(AudioManager.class);
|
||||||
|
|
||||||
new java.lang.Thread() {
|
new java.lang.Thread() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
|
@ -25,37 +32,67 @@ public class Service extends android.app.Service {
|
||||||
} catch(Exception e) {
|
} catch(Exception e) {
|
||||||
android.util.Log.d("PHH", "Failed setting callback", e);
|
android.util.Log.d("PHH", "Failed setting callback", e);
|
||||||
}
|
}
|
||||||
}
|
if(fp.contains("OnePlus6")) {
|
||||||
}.start();
|
try {
|
||||||
}
|
(new UEventObserver() {
|
||||||
|
@Override
|
||||||
|
public void onUEvent(UEventObserver.UEvent event) {
|
||||||
|
try {
|
||||||
|
android.util.Log.v("PHH", "USB UEVENT: " + event.toString());
|
||||||
|
String state = event.get("STATE");
|
||||||
|
|
||||||
IQcRilAudio service;
|
boolean ringing = state.contains("USB=0");
|
||||||
IQcRilAudioCallback cb = new IQcRilAudioCallback.Stub() {
|
boolean silent = state.contains("(null)=0");
|
||||||
@Override
|
boolean vibrate = state.contains("USB_HOST=0");
|
||||||
public String getParameters(String parameter) {
|
android.util.Log.v("PHH", "Got ringing = " + ringing + ", silent = " + silent + ", vibrate = " + vibrate);
|
||||||
android.util.Log.d("PHH", "Got getParameters " + parameter);
|
if(ringing && !silent && !vibrate)
|
||||||
try {
|
audioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
|
||||||
return AudioSystem.getParameters(parameter);
|
if(silent && !ringing && !vibrate)
|
||||||
} catch(Exception e) {
|
audioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT);
|
||||||
android.util.Log.d("PHH", "Failed getting parameters");
|
if(vibrate && !silent && !ringing)
|
||||||
}
|
audioManager.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);
|
||||||
return "";
|
} catch(Exception e) {
|
||||||
}
|
android.util.Log.d("PHH", "Failed parsing uevent", e);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
}
|
||||||
public int setParameters(String parameters) {
|
}).startObserving("DEVPATH=/devices/platform/soc/soc:tri_state_key");
|
||||||
android.util.Log.d("PHH", "Got setParameters " + parameters);
|
} catch(Exception e) {
|
||||||
try {
|
android.util.Log.d("PHH", "Failed setting UEventObserver", e);
|
||||||
AudioSystem.setParameters(parameters);
|
}
|
||||||
} catch(Exception e) {
|
}
|
||||||
android.util.Log.d("PHH", "Failed setting parameters");
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
@Override
|
}
|
||||||
public IBinder onBind(Intent intent) {
|
}.start();
|
||||||
return null;
|
}
|
||||||
}
|
|
||||||
|
IQcRilAudio service;
|
||||||
|
IQcRilAudioCallback cb = new IQcRilAudioCallback.Stub() {
|
||||||
|
@Override
|
||||||
|
public String getParameters(String parameter) {
|
||||||
|
android.util.Log.d("PHH", "Got getParameters " + parameter);
|
||||||
|
try {
|
||||||
|
return AudioSystem.getParameters(parameter);
|
||||||
|
} catch(Exception e) {
|
||||||
|
android.util.Log.d("PHH", "Failed getting parameters");
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int setParameters(String parameters) {
|
||||||
|
android.util.Log.d("PHH", "Got setParameters " + parameters);
|
||||||
|
try {
|
||||||
|
AudioSystem.setParameters(parameters);
|
||||||
|
} catch(Exception e) {
|
||||||
|
android.util.Log.d("PHH", "Failed setting parameters");
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IBinder onBind(Intent intent) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue