diff --git a/LineageActions/src/org/lineageos/settings/device/dirac/DiracSettingsFragment.java b/LineageActions/src/org/lineageos/settings/device/dirac/DiracSettingsFragment.java index ce93e7d..5e7be88 100644 --- a/LineageActions/src/org/lineageos/settings/device/dirac/DiracSettingsFragment.java +++ b/LineageActions/src/org/lineageos/settings/device/dirac/DiracSettingsFragment.java @@ -22,6 +22,7 @@ import android.content.Context; import android.content.DialogInterface; import android.content.SharedPreferences; import android.os.Bundle; +import android.os.Handler; import android.support.v14.preference.PreferenceFragment; import android.support.v14.preference.SwitchPreference; import android.support.v7.preference.ListPreference; @@ -51,6 +52,7 @@ public class DiracSettingsFragment extends PreferenceFragment implements private ListPreference mPreset; private DiracUtils mDiracUtils; + private Handler mHandler = new Handler(); @Override public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { @@ -117,12 +119,28 @@ public class DiracSettingsFragment extends PreferenceFragment implements @Override public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) { mDiracUtils.setEnabled(isChecked); - mTextView.setText(getString(isChecked ? R.string.switch_bar_on : R.string.switch_bar_off)); - mSwitchBar.setActivated(isChecked); + if (isChecked){ + mSwitchBar.setEnabled(false); + mHandler.postDelayed(new Runnable() { + @Override + public void run() { + try{ + mSwitchBar.setEnabled(true); + setEnabled(isChecked); + }catch(Exception ignored){ + } + } + }, 1020); + }else{ + setEnabled(isChecked); + } + } - mHeadsetType.setEnabled(isChecked); - mPreset.setEnabled(isChecked); + private void setEnabled(boolean enabled){ + mSwitchBar.setActivated(enabled); + mHeadsetType.setEnabled(enabled); + mPreset.setEnabled(enabled); } @Override diff --git a/LineageActions/src/org/lineageos/settings/device/dirac/DiracUtils.java b/LineageActions/src/org/lineageos/settings/device/dirac/DiracUtils.java index b7f2639..69f0dd9 100644 --- a/LineageActions/src/org/lineageos/settings/device/dirac/DiracUtils.java +++ b/LineageActions/src/org/lineageos/settings/device/dirac/DiracUtils.java @@ -86,13 +86,13 @@ public final class DiracUtils { public void run() { controller.dispatchMediaButtonEvent(evDownPlay); } - }, 500); + }, 1000); mHandler.postDelayed(new Runnable() { @Override public void run() { controller.dispatchMediaButtonEvent(evUpPlay); } - }, 520); + }, 1020); } private int getMediaControllerPlaybackState(MediaController controller) {