2 * Copyright (C) 2008 The Android Open Source Project
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 package com.android.settings;
19 import android.content.Context;
20 import android.preference.PreferenceCategory;
21 import android.util.AttributeSet;
22 import android.view.View;
26 public class ProgressCategory extends PreferenceCategory {
28 private boolean mProgress = false;
29 private View oldView = null;
31 public ProgressCategory(Context context, AttributeSet attrs) {
32 super(context, attrs);
33 setLayoutResource(R.layout.preference_progress_category);
37 public void onBindView(View view) {
38 super.onBindView(view);
39 View textView = view.findViewById(R.id.scanning_text);
40 View progressBar = view.findViewById(R.id.scanning_progress);
42 int visibility = mProgress ? View.VISIBLE : View.INVISIBLE;
43 textView.setVisibility(visibility);
44 progressBar.setVisibility(visibility);
46 if (oldView != null) {
47 oldView.findViewById(R.id.scanning_progress).setVisibility(View.GONE);
48 oldView.findViewById(R.id.scanning_text).setVisibility(View.GONE);
49 oldView.setVisibility(View.GONE);
55 * Turn on/off the progress indicator and text on the right.
56 * @param progressOn whether or not the progress should be displayed
58 public void setProgress(boolean progressOn) {
59 mProgress = progressOn;