正在查看: xDrip+ v04633772025.07.16 应用的 SelectAudioDevice.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: xDrip+ v04633772025.07.16 应用的 SelectAudioDevice.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.eveningoutpost.dexdrip.ui.activities;
import android.os.Bundle;
import android.os.Handler;
import androidx.databinding.ObservableField;
import com.eveningoutpost.dexdrip.BaseAppCompatActivity;
import com.eveningoutpost.dexdrip.databinding.ActivitySelectAudioDeviceBinding;
import com.eveningoutpost.dexdrip.models.JoH;
import com.eveningoutpost.dexdrip.utilitymodels.Pref;
import com.eveningoutpost.dexdrip.utils.HeadsetStateReceiver;
public class SelectAudioDevice extends BaseAppCompatActivity {
ActivitySelectAudioDeviceBinding binding;
final Handler handler = new Handler();
private Runnable poll = new Runnable() {
@Override
public void run() {
SelectAudioDevice.this.binding.getI().refresh();
if (SelectAudioDevice.this.stopping) {
return;
}
SelectAudioDevice.this.handler.postDelayed(this, 500L);
}
};
private boolean stopping;
@Override
protected void onCreate(Bundle bundle) {
super.onCreate(bundle);
ActivitySelectAudioDeviceBinding inflate = ActivitySelectAudioDeviceBinding.inflate(getLayoutInflater());
this.binding = inflate;
inflate.setI(new AudioDeviceOJO());
this.binding.setVm(this);
if (this.binding.getI().mac.get().equals("")) {
JoH.static_toast_long(getString(2131755906));
finish();
} else {
setContentView(this.binding.getRoot());
JoH.fixActionBar(this);
}
}
@Override
protected void onResume() {
super.onResume();
startPolling();
}
@Override
protected void onPause() {
stopPolling();
super.onPause();
}
@Override
protected void onDestroy() {
stopPolling();
super.onDestroy();
}
public class AudioDeviceOJO {
public final ObservableField<String> name = new ObservableField<>();
public final ObservableField<String> mac = new ObservableField<>();
AudioDeviceOJO() {
refresh();
}
public void refresh() {
this.name.set(HeadsetStateReceiver.getLastConnectedName());
this.mac.set(HeadsetStateReceiver.getLastConnectedMac());
}
}
private void startPolling() {
stopPolling();
this.stopping = false;
this.poll.run();
}
private void stopPolling() {
this.stopping = true;
this.handler.removeCallbacks(this.poll);
}
public void stop() {
finish();
}
public void save() {
String str = this.binding.getI().mac.get();
setAudioMac(str);
JoH.static_toast_long("Set to: " + this.binding.getI().name.get() + " " + str);
HeadsetStateReceiver.reprocessConnectionIfAlreadyConnected(str);
finish();
}
public static void setAudioMac(String str) {
if (str == null || str.length() == 0) {
return;
}
Pref.setString("vehicle-mode-audio-mac", str);
}
public static String getAudioMac() {
return Pref.getString("vehicle-mode-audio-mac", "<NOT SET>");
}
}