Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 39820649 authored by mark's avatar mark
Browse files

DockAudio: Route audio via dock for Samsung devices

This patch simply removes the audio routing checks for Samsung
devices and routes audio via the dock when the mobile is docked.

There is no option to disable audio routing out through the dock

Change-Id: Ie3f99101b051326913d06f1c78894d50035f6e62
parent d7ba85c0
Loading
Loading
Loading
Loading
+0 −35
Original line number Diff line number Diff line
@@ -79,8 +79,6 @@ final class WiredAccessoryManager implements WiredAccessoryCallbacks {

    private int mSwitchValues;

    private boolean dockAudioEnabled = false;

    private final WiredAccessoryObserver mObserver;
    private final InputManagerService mInputManager;

@@ -98,12 +96,6 @@ final class WiredAccessoryManager implements WiredAccessoryCallbacks {

        mObserver = new WiredAccessoryObserver();

        File f = new File("/sys/class/switch/dock/state");
        if (f!=null && f.exists()) {
            // Listen out for changes to the Dock Audio Settings
            context.registerReceiver(new SettingsChangedReceiver(),
            new IntentFilter("com.cyanogenmod.settings.SamsungDock"), null, null);
        }
        context.registerReceiver(new BroadcastReceiver() {
                    @Override
                    public void onReceive(Context ctx, Intent intent) {
@@ -113,23 +105,6 @@ final class WiredAccessoryManager implements WiredAccessoryCallbacks {
                new IntentFilter(Intent.ACTION_BOOT_COMPLETED), null, null);
    }

    private final class SettingsChangedReceiver extends BroadcastReceiver {
        @Override
        public void onReceive(Context context, Intent intent) {
            final String action = intent.getAction();
            Slog.e(TAG, "Recieved a Settings Changed Action " + action);
            if (action.equals("com.cyanogenmod.settings.SamsungDock")) {
                String data = intent.getStringExtra("data");
                Slog.e(TAG, "Recieved a Dock Audio change " + data);
                if (data != null && data.equals("1")) {
                    dockAudioEnabled = true;
                } else {
                    dockAudioEnabled = false;
                }
            }
        }
    }

    private void bootCompleted() {
        if (mUseDevInputEventForAudioJack) {
            int switchValues = 0;
@@ -419,16 +394,6 @@ final class WiredAccessoryManager implements WiredAccessoryCallbacks {
            try {
                String devPath = event.get("DEVPATH");
                String name = event.get("SWITCH_NAME");
                if (name.equals("dock")) {
                    // Samsung USB Audio Jack is non-sensing - so must be enabled manually
                    // The choice is made in the GalaxyS2Settings.apk
                    // device/samsung/i9100/DeviceSettings/src/com/cyanogenmod/settings/device/DockFragmentActivity.java
                    // This sends an Intent to this class
                    if ((!dockAudioEnabled) && (state > 0)) {
                        Slog.e(TAG, "Ignoring dock event as Audio routing disabled " + event);
                        return;
                    }
                }
                synchronized (mLock) {
                    updateStateLocked(devPath, name, state);
                }