gecko/mobile/android/base/widget/AboutHomeSection.java
Sriram Ramasubramanian 0e1fdb5173 Bug 852312: Split views in about:home [r=bnicholson]
--HG--
rename : mobile/android/base/AboutHomeContent.java => mobile/android/base/widget/AboutHomeContent.java
rename : mobile/android/base/AboutHomeSection.java => mobile/android/base/widget/AboutHomeSection.java
rename : mobile/android/base/AboutHomePromoBox.java => mobile/android/base/widget/PromoBox.java
extra : rebase_source : 0db7d60aa0c57eb9aeb9cad3e1f297b0ec0ddd0f
2013-03-25 15:45:33 -07:00

111 lines
3.3 KiB
Java

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/. */
package org.mozilla.gecko.widget;
import org.mozilla.gecko.Divider;
import org.mozilla.gecko.GeckoLinearLayout;
import org.mozilla.gecko.R;
import org.mozilla.gecko.util.GamepadUtils;
import android.content.Context;
import android.content.res.TypedArray;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView;
public class AboutHomeSection extends GeckoLinearLayout {
private TextView mTitle;
private TextView mSubtitle;
private LinearLayout mItemsContainer;
private LinkTextView mMoreText;
public AboutHomeSection(Context context, AttributeSet attrs) {
super(context, attrs);
setOrientation(VERTICAL);
LayoutInflater.from(context).inflate(R.layout.abouthome_section, this);
mTitle = (TextView) this.findViewById(R.id.title);
mSubtitle = (TextView) this.findViewById(R.id.subtitle);
mItemsContainer = (LinearLayout) this.findViewById(R.id.items_container);
mMoreText = (LinkTextView) this.findViewById(R.id.more_text);
TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.AboutHomeSection);
setTitle(a.getText(R.styleable.AboutHomeSection_title));
setSubtitle(a.getText(R.styleable.AboutHomeSection_subtitle));
setMoreText(a.getText(R.styleable.AboutHomeSection_more_text));
a.recycle();
}
public LinearLayout getItemsContainer() {
return mItemsContainer;
}
public void setTitle(CharSequence title) {
if (!TextUtils.isEmpty(title)) {
mTitle.setText(title);
mTitle.setVisibility(View.VISIBLE);
} else {
mTitle.setVisibility(View.GONE);
}
}
public void setSubtitle(CharSequence subtitle) {
if (!TextUtils.isEmpty(subtitle)) {
mSubtitle.setText(subtitle);
mSubtitle.setVisibility(View.VISIBLE);
} else {
mSubtitle.setVisibility(View.GONE);
}
}
public void setMoreText(CharSequence moreText) {
if (!TextUtils.isEmpty(moreText)) {
mMoreText.setText(moreText);
mMoreText.setVisibility(View.VISIBLE);
} else {
mMoreText.setVisibility(View.GONE);
}
}
public void setOnMoreTextClickListener(View.OnClickListener listener) {
mMoreText.setOnClickListener(listener);
mMoreText.setOnKeyListener(GamepadUtils.getClickDispatcher());
}
public void addItem(View item) {
mItemsContainer.addView(item);
Divider divider = new Divider(getContext(), null);
divider.setBackgroundColor(0x3460666E);
mItemsContainer.addView(divider);
}
public void clear() {
mItemsContainer.removeAllViews();
}
public void show() {
setVisibility(View.VISIBLE);
}
public void hide() {
setVisibility(View.GONE);
}
public void showMoreText() {
mMoreText.setVisibility(View.VISIBLE);
}
public void hideMoreText() {
mMoreText.setVisibility(View.GONE);
}
}