sanders: dirac: Prevent failures when toggling
Signed-off-by: Ashwin R C <ashwin2001achu@gmail.com> Signed-off-by: utsavbalar1231 <utsavbalar1231@gmail.com> Signed-off-by: ronaxdevil <pratabidya.007@gmail.com>
This commit is contained in:
committed by
ronaxdevil
parent
9967e4db15
commit
b9f5ed218a
@@ -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
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user