private void updatePinProgressContentDescription(PinProgressButton button) { int progress = button.getProgress(); if (progress <= 0) { button.setContentDescription( getString( button.isChecked() ? R.string.content_desc_pinned_not_downloaded : R.string.content_desc_unpinned_not_downloaded)); } else if (progress >= 100) { button.setContentDescription( getString( button.isChecked() ? R.string.content_desc_pinned_downloaded : R.string.content_desc_unpinned_downloaded)); } else { button.setContentDescription( getString( button.isChecked() ? R.string.content_desc_pinned_downloading : R.string.content_desc_unpinned_downloading)); } }
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final PinProgressButton pinProgress1 = (PinProgressButton) findViewById(R.id.pin_progress_1); final PinProgressButton pinProgress2 = (PinProgressButton) findViewById(R.id.pin_progress_2); final PinProgressButton pinProgress3 = (PinProgressButton) findViewById(R.id.pin_progress_3); final PinProgressButton pinProgress4 = (PinProgressButton) findViewById(R.id.pin_progress_4); CompoundButton.OnCheckedChangeListener checkedChangeListener = new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { updatePinProgressContentDescription((PinProgressButton) compoundButton); } }; pinProgress1.setOnCheckedChangeListener(checkedChangeListener); pinProgress2.setOnCheckedChangeListener(checkedChangeListener); pinProgress3.setOnCheckedChangeListener(checkedChangeListener); pinProgress4.setOnCheckedChangeListener(checkedChangeListener); SeekBar progressSeekBar = (SeekBar) findViewById(R.id.progress_seek_bar); progressSeekBar.setOnSeekBarChangeListener( new SeekBar.OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { pinProgress1.setProgress(progress); pinProgress2.setProgress(progress); pinProgress3.setProgress(progress); pinProgress4.setProgress(progress); updatePinProgressContentDescription(pinProgress1); updatePinProgressContentDescription(pinProgress2); updatePinProgressContentDescription(pinProgress3); updatePinProgressContentDescription(pinProgress4); } @Override public void onStartTrackingTouch(SeekBar seekBar) {} @Override public void onStopTrackingTouch(SeekBar seekBar) {} }); pinProgress1.setProgress(progressSeekBar.getProgress()); pinProgress2.setProgress(progressSeekBar.getProgress()); pinProgress3.setProgress(progressSeekBar.getProgress()); pinProgress4.setProgress(progressSeekBar.getProgress()); updatePinProgressContentDescription(pinProgress1); updatePinProgressContentDescription(pinProgress2); updatePinProgressContentDescription(pinProgress3); updatePinProgressContentDescription(pinProgress4); }