content: package com.termux.shared.termux.extrakeys;
  
  import com.google.android.material.button.MaterialButton;
  
  import java.util.ArrayList;
  import java.util.List;
  
  /** The {@link Class} that maintains a state of a {@link SpecialButton} */
  public class SpecialButtonState {
  
      /** If special button has been created for the {@link ExtraKeysView}. */
      boolean isCreated = false;
      /** If special button is active. */
      boolean isActive = false;
      /** If special button is locked due to long hold on it and should not be deactivated if its
       * state is read. */
      boolean isLocked = false;
  
      List<MaterialButton> buttons = new ArrayList<>();
  
      ExtraKeysView mExtraKeysView;
  
      /**
       * Initialize a {@link SpecialButtonState} to maintain state of a {@link SpecialButton}.
       *
       * @param extraKeysView The {@link ExtraKeysView} instance in which the {@link SpecialButton}
       *                      is to be registered.
       */
      public SpecialButtonState(ExtraKeysView extraKeysView) {
          mExtraKeysView = extraKeysView;
      }
  
      /** Set {@link #isCreated}. */
      public void setIsCreated(boolean value) {
          isCreated = value;
      }
  
      /** Set {@link #isActive}. */
      public void setIsActive(boolean value) {
          isActive = value;
          for (MaterialButton button : buttons) {
              button.setTextColor(value ? mExtraKeysView.getButtonActiveTextColor() : mExtraKeysView.getButtonTextColor());
          }
      }
  
      /** Set {@link #isLocked}. */
      public void setIsLocked(boolean value) {
          isLocked = value;
      }
  
  }
  