content: /*
   * Copyright (C) 2007 The Android Open Source Project
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *      http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  
  package android.preference;
  
  import android.content.Context;
  import android.util.AttributeSet;
  
  /**
   * Used to group {@link Preference} objects
   * and provide a disabled title above the group.
   * 
   * <div class="special reference">
   * <h3>Developer Guides</h3>
   * <p>For information about building a settings UI with Preferences,
   * read the <a href="{@docRoot}guide/topics/ui/settings.html">Settings</a>
   * guide.</p>
   * </div>
   *
   * @deprecated Use the <a href="{@docRoot}jetpack/androidx.html">AndroidX</a>
   *      <a href="{@docRoot}reference/androidx/preference/package-summary.html">
   *      Preference Library</a> for consistent behavior across all devices. For more information on
   *      using the AndroidX Preference Library see
   *      <a href="{@docRoot}guide/topics/ui/settings.html">Settings</a>.
   */
  @Deprecated
  public class PreferenceCategory extends PreferenceGroup {
      private static final String TAG = "PreferenceCategory";
  
      public PreferenceCategory(
              Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
          super(context, attrs, defStyleAttr, defStyleRes);
      }
  
      public PreferenceCategory(Context context, AttributeSet attrs, int defStyleAttr) {
          this(context, attrs, defStyleAttr, 0);
      }
  
      public PreferenceCategory(Context context, AttributeSet attrs) {
          this(context, attrs, com.android.internal.R.attr.preferenceCategoryStyle);
      }
  
      public PreferenceCategory(Context context) {
          this(context, null);
      }
      
      @Override
      protected boolean onPrepareAddPreference(Preference preference) {
          if (preference instanceof PreferenceCategory) {
              throw new IllegalArgumentException(
                      "Cannot add a " + TAG + " directly to a " + TAG);
          }
          
          return super.onPrepareAddPreference(preference);
      }
  
      @Override
      public boolean isEnabled() {
          return false;
      }
      
      @Override
      public boolean shouldDisableDependents() {
          return !super.isEnabled();
      }
  }
  