diff options
| author | cyberta <cyberta@riseup.net> | 2022-11-30 15:45:54 +0000 |
|---|---|---|
| committer | cyberta <cyberta@riseup.net> | 2022-11-30 15:45:54 +0000 |
| commit | c0d1a28e5d737fbf24e13ade9fd6988a07ee2719 (patch) | |
| tree | 14a07baeb8abfdb9f46a54559bd0e4730c3b4989 /app/src/normal/java/se | |
| parent | fe27b89218ac9bbbfaab302b5c9747c12af47afd (diff) | |
| parent | da824fa125a5583d07e8ac2f6585459956d87ac1 (diff) | |
Merge branch 'main_ui' into 'master'
Update UI for Bitmask
See merge request leap/bitmask_android!218
Diffstat (limited to 'app/src/normal/java/se')
| -rw-r--r-- | app/src/normal/java/se/leap/bitmaskclient/base/views/MainButton.java | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/app/src/normal/java/se/leap/bitmaskclient/base/views/MainButton.java b/app/src/normal/java/se/leap/bitmaskclient/base/views/MainButton.java new file mode 100644 index 00000000..715063b5 --- /dev/null +++ b/app/src/normal/java/se/leap/bitmaskclient/base/views/MainButton.java @@ -0,0 +1,57 @@ +package se.leap.bitmaskclient.base.views; + +import android.annotation.TargetApi; +import android.content.Context; +import android.util.AttributeSet; +import android.view.LayoutInflater; +import android.widget.RelativeLayout; + +import androidx.appcompat.widget.AppCompatImageView; +import androidx.core.content.ContextCompat; + +import se.leap.bitmaskclient.R; +import se.leap.bitmaskclient.databinding.VMainButtonBinding; + +public class MainButton extends RelativeLayout { + + private static final String TAG = MainButton.class.getSimpleName(); + + AppCompatImageView button; + + public MainButton(Context context) { + super(context); + initLayout(context); + } + + public MainButton(Context context, AttributeSet attrs) { + super(context, attrs); + initLayout(context); + } + + public MainButton(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + initLayout(context); + } + + + @TargetApi(21) + public MainButton(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { + super(context, attrs, defStyleAttr, defStyleRes); + initLayout(context); + } + + private void initLayout(Context context) { + VMainButtonBinding binding = VMainButtonBinding.inflate(LayoutInflater.from(context), this, true); + button = binding.button; + } + + public void updateState(boolean isOn, boolean isProcessing, boolean isError) { + if (isProcessing) { + button.setImageDrawable(ContextCompat.getDrawable(getContext(), R.drawable.button_circle_cancel)); + } else { + button.setImageDrawable( + ContextCompat.getDrawable(getContext(), + isOn ? R.drawable.button_circle_stop : R.drawable.button_circle_start)); + } + } +} |
