18fc22a1c7846b4c7c7b74d1ec59ffc59c2695c15John Reck/*
28fc22a1c7846b4c7c7b74d1ec59ffc59c2695c15John Reck * Copyright (C) 2011 The Android Open Source Project
38fc22a1c7846b4c7c7b74d1ec59ffc59c2695c15John Reck *
48fc22a1c7846b4c7c7b74d1ec59ffc59c2695c15John Reck * Licensed under the Apache License, Version 2.0 (the "License");
58fc22a1c7846b4c7c7b74d1ec59ffc59c2695c15John Reck * you may not use this file except in compliance with the License.
68fc22a1c7846b4c7c7b74d1ec59ffc59c2695c15John Reck * You may obtain a copy of the License at
78fc22a1c7846b4c7c7b74d1ec59ffc59c2695c15John Reck *
88fc22a1c7846b4c7c7b74d1ec59ffc59c2695c15John Reck *      http://www.apache.org/licenses/LICENSE-2.0
98fc22a1c7846b4c7c7b74d1ec59ffc59c2695c15John Reck *
108fc22a1c7846b4c7c7b74d1ec59ffc59c2695c15John Reck * Unless required by applicable law or agreed to in writing, software
118fc22a1c7846b4c7c7b74d1ec59ffc59c2695c15John Reck * distributed under the License is distributed on an "AS IS" BASIS,
128fc22a1c7846b4c7c7b74d1ec59ffc59c2695c15John Reck * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
138fc22a1c7846b4c7c7b74d1ec59ffc59c2695c15John Reck * See the License for the specific language governing permissions and
148fc22a1c7846b4c7c7b74d1ec59ffc59c2695c15John Reck * limitations under the License.
158fc22a1c7846b4c7c7b74d1ec59ffc59c2695c15John Reck */
168fc22a1c7846b4c7c7b74d1ec59ffc59c2695c15John Reck
178fc22a1c7846b4c7c7b74d1ec59ffc59c2695c15John Reckpackage com.android.browser.preferences;
188fc22a1c7846b4c7c7b74d1ec59ffc59c2695c15John Reck
198fc22a1c7846b4c7c7b74d1ec59ffc59c2695c15John Reckimport android.content.Context;
208fc22a1c7846b4c7c7b74d1ec59ffc59c2695c15John Reckimport android.preference.SeekBarPreference;
217dc444b4c3b70a09a33c0892fb8677922bdf1eccJohn Reckimport android.text.TextUtils;
228fc22a1c7846b4c7c7b74d1ec59ffc59c2695c15John Reckimport android.util.AttributeSet;
237dc444b4c3b70a09a33c0892fb8677922bdf1eccJohn Reckimport android.view.View;
248fc22a1c7846b4c7c7b74d1ec59ffc59c2695c15John Reckimport android.widget.SeekBar;
257dc444b4c3b70a09a33c0892fb8677922bdf1eccJohn Reckimport android.widget.TextView;
267dc444b4c3b70a09a33c0892fb8677922bdf1eccJohn Reck
277dc444b4c3b70a09a33c0892fb8677922bdf1eccJohn Reckimport com.android.browser.R;
288fc22a1c7846b4c7c7b74d1ec59ffc59c2695c15John Reck
29eabe5dabe4e56a78c5d6cf99e6f171452bad2f23John Reckpublic class SeekBarSummaryPreference extends SeekBarPreference {
308fc22a1c7846b4c7c7b74d1ec59ffc59c2695c15John Reck
317dc444b4c3b70a09a33c0892fb8677922bdf1eccJohn Reck    CharSequence mSummary;
327dc444b4c3b70a09a33c0892fb8677922bdf1eccJohn Reck    TextView mSummaryView;
337dc444b4c3b70a09a33c0892fb8677922bdf1eccJohn Reck
34eabe5dabe4e56a78c5d6cf99e6f171452bad2f23John Reck    public SeekBarSummaryPreference(
358fc22a1c7846b4c7c7b74d1ec59ffc59c2695c15John Reck            Context context, AttributeSet attrs, int defStyle) {
368fc22a1c7846b4c7c7b74d1ec59ffc59c2695c15John Reck        super(context, attrs, defStyle);
377dc444b4c3b70a09a33c0892fb8677922bdf1eccJohn Reck        init();
388fc22a1c7846b4c7c7b74d1ec59ffc59c2695c15John Reck    }
398fc22a1c7846b4c7c7b74d1ec59ffc59c2695c15John Reck
40eabe5dabe4e56a78c5d6cf99e6f171452bad2f23John Reck    public SeekBarSummaryPreference(Context context, AttributeSet attrs) {
418fc22a1c7846b4c7c7b74d1ec59ffc59c2695c15John Reck        super(context, attrs);
427dc444b4c3b70a09a33c0892fb8677922bdf1eccJohn Reck        init();
438fc22a1c7846b4c7c7b74d1ec59ffc59c2695c15John Reck    }
448fc22a1c7846b4c7c7b74d1ec59ffc59c2695c15John Reck
45eabe5dabe4e56a78c5d6cf99e6f171452bad2f23John Reck    public SeekBarSummaryPreference(Context context) {
468fc22a1c7846b4c7c7b74d1ec59ffc59c2695c15John Reck        super(context);
477dc444b4c3b70a09a33c0892fb8677922bdf1eccJohn Reck        init();
487dc444b4c3b70a09a33c0892fb8677922bdf1eccJohn Reck    }
497dc444b4c3b70a09a33c0892fb8677922bdf1eccJohn Reck
507dc444b4c3b70a09a33c0892fb8677922bdf1eccJohn Reck    void init() {
517dc444b4c3b70a09a33c0892fb8677922bdf1eccJohn Reck        setWidgetLayoutResource(R.layout.font_size_widget);
527dc444b4c3b70a09a33c0892fb8677922bdf1eccJohn Reck    }
537dc444b4c3b70a09a33c0892fb8677922bdf1eccJohn Reck
547dc444b4c3b70a09a33c0892fb8677922bdf1eccJohn Reck    @Override
557dc444b4c3b70a09a33c0892fb8677922bdf1eccJohn Reck    public void setSummary(CharSequence summary) {
567dc444b4c3b70a09a33c0892fb8677922bdf1eccJohn Reck        mSummary = summary;
577dc444b4c3b70a09a33c0892fb8677922bdf1eccJohn Reck        if (mSummaryView != null) {
587dc444b4c3b70a09a33c0892fb8677922bdf1eccJohn Reck            mSummaryView.setText(mSummary);
597dc444b4c3b70a09a33c0892fb8677922bdf1eccJohn Reck        }
607dc444b4c3b70a09a33c0892fb8677922bdf1eccJohn Reck    }
617dc444b4c3b70a09a33c0892fb8677922bdf1eccJohn Reck
627dc444b4c3b70a09a33c0892fb8677922bdf1eccJohn Reck    @Override
637dc444b4c3b70a09a33c0892fb8677922bdf1eccJohn Reck    public CharSequence getSummary() {
647dc444b4c3b70a09a33c0892fb8677922bdf1eccJohn Reck        return null;
657dc444b4c3b70a09a33c0892fb8677922bdf1eccJohn Reck    }
667dc444b4c3b70a09a33c0892fb8677922bdf1eccJohn Reck
677dc444b4c3b70a09a33c0892fb8677922bdf1eccJohn Reck    @Override
687dc444b4c3b70a09a33c0892fb8677922bdf1eccJohn Reck    protected void onBindView(View view) {
697dc444b4c3b70a09a33c0892fb8677922bdf1eccJohn Reck        super.onBindView(view);
707dc444b4c3b70a09a33c0892fb8677922bdf1eccJohn Reck        mSummaryView = (TextView) view.findViewById(R.id.text);
717dc444b4c3b70a09a33c0892fb8677922bdf1eccJohn Reck        if (TextUtils.isEmpty(mSummary)) {
727dc444b4c3b70a09a33c0892fb8677922bdf1eccJohn Reck            mSummaryView.setVisibility(View.GONE);
737dc444b4c3b70a09a33c0892fb8677922bdf1eccJohn Reck        } else {
747dc444b4c3b70a09a33c0892fb8677922bdf1eccJohn Reck            mSummaryView.setVisibility(View.VISIBLE);
757dc444b4c3b70a09a33c0892fb8677922bdf1eccJohn Reck            mSummaryView.setText(mSummary);
767dc444b4c3b70a09a33c0892fb8677922bdf1eccJohn Reck        }
778fc22a1c7846b4c7c7b74d1ec59ffc59c2695c15John Reck    }
788fc22a1c7846b4c7c7b74d1ec59ffc59c2695c15John Reck
798fc22a1c7846b4c7c7b74d1ec59ffc59c2695c15John Reck    @Override
808fc22a1c7846b4c7c7b74d1ec59ffc59c2695c15John Reck    public void onStartTrackingTouch(SeekBar seekBar) {
818fc22a1c7846b4c7c7b74d1ec59ffc59c2695c15John Reck        // Intentionally blank - prevent super.onStartTrackingTouch from running
828fc22a1c7846b4c7c7b74d1ec59ffc59c2695c15John Reck    }
838fc22a1c7846b4c7c7b74d1ec59ffc59c2695c15John Reck
848fc22a1c7846b4c7c7b74d1ec59ffc59c2695c15John Reck    @Override
858fc22a1c7846b4c7c7b74d1ec59ffc59c2695c15John Reck    public void onStopTrackingTouch(SeekBar seekBar) {
868fc22a1c7846b4c7c7b74d1ec59ffc59c2695c15John Reck        // Intentionally blank - prevent onStopTrackingTouch from running
878fc22a1c7846b4c7c7b74d1ec59ffc59c2695c15John Reck    }
888fc22a1c7846b4c7c7b74d1ec59ffc59c2695c15John Reck
898fc22a1c7846b4c7c7b74d1ec59ffc59c2695c15John Reck}
90