OSDN Git Service

am 95364e4a: Allow alternate string to be used for min_number
[android-x86/packages-apps-Settings.git] / src / com / android / settings / ProgressCategory.java
1 /*
2  * Copyright (C) 2008 The Android Open Source Project
3  *
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
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
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.
15  */
16
17 package com.android.settings;
18
19 import android.content.Context;
20 import android.preference.PreferenceCategory;
21 import android.util.AttributeSet;
22 import android.view.View;
23
24 import java.util.Map;
25
26 public class ProgressCategory extends PreferenceCategory {
27
28     private boolean mProgress = false;
29     private View oldView = null;
30
31     public ProgressCategory(Context context, AttributeSet attrs) {
32         super(context, attrs);
33         setLayoutResource(R.layout.preference_progress_category);
34     }
35     
36     @Override
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);
41
42         int visibility = mProgress ? View.VISIBLE : View.INVISIBLE;
43         textView.setVisibility(visibility);
44         progressBar.setVisibility(visibility);
45
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);
50         }
51         oldView = view;
52     }
53     
54     /**
55      * Turn on/off the progress indicator and text on the right.
56      * @param progressOn whether or not the progress should be displayed 
57      */
58     public void setProgress(boolean progressOn) {
59         mProgress = progressOn;
60         notifyChanged();
61     }
62 }
63