Bug 958185 - Rename Page* terminology to Panel* in the home package (r=margaret)

--HG--
rename : mobile/android/base/home/BookmarksPage.java => mobile/android/base/home/BookmarksPanel.java
rename : mobile/android/base/home/HistoryPage.java => mobile/android/base/home/HistoryPanel.java
rename : mobile/android/base/home/LastTabsPage.java => mobile/android/base/home/LastTabsPanel.java
rename : mobile/android/base/home/ListPage.java => mobile/android/base/home/ListPanel.java
rename : mobile/android/base/home/MostRecentPage.java => mobile/android/base/home/MostRecentPanel.java
rename : mobile/android/base/home/ReadingListPage.java => mobile/android/base/home/ReadingListPanel.java
rename : mobile/android/base/home/TopSitesPage.java => mobile/android/base/home/TopSitesPanel.java
rename : mobile/android/base/resources/drawable/home_page_title_background.xml => mobile/android/base/resources/drawable/home_panel_title_background.xml
rename : mobile/android/base/resources/layout-large-land-v11/home_history_page.xml => mobile/android/base/resources/layout-large-land-v11/home_history_panel.xml
rename : mobile/android/base/resources/layout-xlarge-v11/home_history_page.xml => mobile/android/base/resources/layout-xlarge-v11/home_history_panel.xml
rename : mobile/android/base/resources/layout/home_bookmarks_page.xml => mobile/android/base/resources/layout/home_bookmarks_panel.xml
rename : mobile/android/base/resources/layout/home_history_page.xml => mobile/android/base/resources/layout/home_history_panel.xml
rename : mobile/android/base/resources/layout/home_last_tabs_page.xml => mobile/android/base/resources/layout/home_last_tabs_panel.xml
rename : mobile/android/base/resources/layout/home_most_recent_page.xml => mobile/android/base/resources/layout/home_most_recent_panel.xml
rename : mobile/android/base/resources/layout/home_reading_list_page.xml => mobile/android/base/resources/layout/home_reading_list_panel.xml
rename : mobile/android/base/resources/layout/home_top_sites_page.xml => mobile/android/base/resources/layout/home_top_sites_panel.xml
rename : mobile/android/base/tests/testBookmarksPage.java => mobile/android/base/tests/testBookmarksPanel.java
This commit is contained in:
Lucas Rocha 2014-01-10 17:18:07 -08:00
Родитель 07705609b6
Коммит b6d0bd792b
35 изменённых файлов: 311 добавлений и 311 удалений

Просмотреть файл

@ -22,4 +22,4 @@
# changes to stick? As of bug 928195, this shouldn't be necessary! Please
# don't change CLOBBER for WebIDL changes any more.
Bug 944533 requires clobber to force a Proguard refresh
Bug 958185 requires clobber on Android to force a Proguard refresh

Просмотреть файл

@ -32,8 +32,8 @@ import java.util.List;
/**
* A page in about:home that displays a ListView of bookmarks.
*/
public class BookmarksPage extends HomeFragment {
public static final String LOGTAG = "GeckoBookmarksPage";
public class BookmarksPanel extends HomeFragment {
public static final String LOGTAG = "GeckoBookmarksPanel";
// Cursor loader ID for list of bookmarks.
private static final int LOADER_ID_BOOKMARKS_LIST = 0;
@ -61,7 +61,7 @@ public class BookmarksPage extends HomeFragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
final View view = inflater.inflate(R.layout.home_bookmarks_page, container, false);
final View view = inflater.inflate(R.layout.home_bookmarks_panel, container, false);
mList = (BookmarksListView) view.findViewById(R.id.bookmarks_list);

Просмотреть файл

@ -19,17 +19,17 @@ import android.view.LayoutInflater;
import android.widget.ImageButton;
public class HistoryPage extends HomeFragment
implements IconTabWidget.OnTabChangedListener {
public class HistoryPanel extends HomeFragment
implements IconTabWidget.OnTabChangedListener {
// Logging tag name
private static final String LOGTAG = "GeckoHistoryPage";
private static final String LOGTAG = "GeckoHistoryPanel";
private IconTabWidget mTabWidget;
private int mSelectedTab;
private boolean initializeRecentPage;
private boolean initializeRecentPanel;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.home_history_page, container, false);
return inflater.inflate(R.layout.home_history_panel, container, false);
}
@Override
@ -49,11 +49,11 @@ public class HistoryPage extends HomeFragment
@Override
public void load() {
// Show most recent page as the initial page.
// Show most recent panel as the initial panel.
// Since we detach/attach on config change, this prevents from replacing current fragment.
if (!initializeRecentPage) {
showMostRecentPage();
initializeRecentPage = true;
if (!initializeRecentPanel) {
showMostRecentPanel();
initializeRecentPanel = true;
}
}
@ -64,9 +64,9 @@ public class HistoryPage extends HomeFragment
}
if (index == 0) {
showMostRecentPage();
showMostRecentPanel();
} else if (index == 1) {
showLastTabsPage();
showLastTabsPanel();
}
mTabWidget.setCurrentTab(index);
@ -86,23 +86,23 @@ public class HistoryPage extends HomeFragment
}
}
private void showSubPage(Fragment subPage) {
private void showSubPanel(Fragment subPanel) {
final Bundle args = new Bundle();
args.putBoolean(HomePager.CAN_LOAD_ARG, getCanLoadHint());
subPage.setArguments(args);
subPanel.setArguments(args);
getChildFragmentManager().beginTransaction()
.addToBackStack(null).replace(R.id.history_page_container, subPage)
.addToBackStack(null).replace(R.id.history_panel_container, subPanel)
.commitAllowingStateLoss();
}
private void showMostRecentPage() {
final MostRecentPage mostRecentPage = MostRecentPage.newInstance();
showSubPage(mostRecentPage);
private void showMostRecentPanel() {
final MostRecentPanel mostRecentPanel = MostRecentPanel.newInstance();
showSubPanel(mostRecentPanel);
}
private void showLastTabsPage() {
final LastTabsPage lastTabsPage = LastTabsPage.newInstance();
showSubPage(lastTabsPage);
private void showLastTabsPanel() {
final LastTabsPanel lastTabsPanel = LastTabsPanel.newInstance();
showSubPanel(lastTabsPanel);
}
}

Просмотреть файл

@ -5,8 +5,8 @@
package org.mozilla.gecko.home;
import org.mozilla.gecko.home.HomeConfig.PageEntry;
import org.mozilla.gecko.home.HomeConfig.PageType;
import org.mozilla.gecko.home.HomeConfig.PanelConfig;
import org.mozilla.gecko.home.HomeConfig.PanelType;
import org.mozilla.gecko.home.HomePager;
import android.content.Context;
@ -23,15 +23,15 @@ import java.util.List;
class HomeAdapter extends FragmentStatePagerAdapter {
private final Context mContext;
private final ArrayList<PageInfo> mPageInfos;
private final HashMap<String, Fragment> mPages;
private final ArrayList<PanelInfo> mPanelInfos;
private final HashMap<String, Fragment> mPanels;
private boolean mCanLoadHint;
private OnAddPageListener mAddPageListener;
private OnAddPanelListener mAddPanelListener;
interface OnAddPageListener {
public void onAddPage(String title);
interface OnAddPanelListener {
public void onAddPanel(String title);
}
public HomeAdapter(Context context, FragmentManager fm) {
@ -40,25 +40,25 @@ class HomeAdapter extends FragmentStatePagerAdapter {
mContext = context;
mCanLoadHint = HomeFragment.DEFAULT_CAN_LOAD_HINT;
mPageInfos = new ArrayList<PageInfo>();
mPages = new HashMap<String, Fragment>();
mPanelInfos = new ArrayList<PanelInfo>();
mPanels = new HashMap<String, Fragment>();
}
@Override
public int getCount() {
return mPageInfos.size();
return mPanelInfos.size();
}
@Override
public Fragment getItem(int position) {
PageInfo info = mPageInfos.get(position);
PanelInfo info = mPanelInfos.get(position);
return Fragment.instantiate(mContext, info.getClassName(), info.getArgs());
}
@Override
public CharSequence getPageTitle(int position) {
if (mPageInfos.size() > 0) {
PageInfo info = mPageInfos.get(position);
if (mPanelInfos.size() > 0) {
PanelInfo info = mPanelInfos.get(position);
return info.getTitle().toUpperCase();
}
@ -68,7 +68,7 @@ class HomeAdapter extends FragmentStatePagerAdapter {
@Override
public Object instantiateItem(ViewGroup container, int position) {
Fragment fragment = (Fragment) super.instantiateItem(container, position);
mPages.put(mPageInfos.get(position).getId(), fragment);
mPanels.put(mPanelInfos.get(position).getId(), fragment);
return fragment;
}
@ -76,17 +76,17 @@ class HomeAdapter extends FragmentStatePagerAdapter {
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
super.destroyItem(container, position, object);
mPages.remove(mPageInfos.get(position).getId());
mPanels.remove(mPanelInfos.get(position).getId());
}
public void setOnAddPageListener(OnAddPageListener listener) {
mAddPageListener = listener;
public void setOnAddPanelListener(OnAddPanelListener listener) {
mAddPanelListener = listener;
}
public int getItemPosition(String pageId) {
for (int i = 0; i < mPageInfos.size(); i++) {
final String id = mPageInfos.get(i).getId();
if (id.equals(pageId)) {
public int getItemPosition(String panelId) {
for (int i = 0; i < mPanelInfos.size(); i++) {
final String id = mPanelInfos.get(i).getId();
if (id.equals(panelId)) {
return i;
}
}
@ -94,32 +94,32 @@ class HomeAdapter extends FragmentStatePagerAdapter {
return -1;
}
public String getPageIdAtPosition(int position) {
// getPageAtPosition() might be called before HomeAdapter
// has got its initial list of PageEntries. Just bail.
if (mPageInfos.isEmpty()) {
public String getPanelIdAtPosition(int position) {
// getPanelIdAtPosition() might be called before HomeAdapter
// has got its initial list of PanelConfigs. Just bail.
if (mPanelInfos.isEmpty()) {
return null;
}
return mPageInfos.get(position).getId();
return mPanelInfos.get(position).getId();
}
private void addPage(PageInfo info) {
mPageInfos.add(info);
private void addPanel(PanelInfo info) {
mPanelInfos.add(info);
if (mAddPageListener != null) {
mAddPageListener.onAddPage(info.getTitle());
if (mAddPanelListener != null) {
mAddPanelListener.onAddPanel(info.getTitle());
}
}
public void update(List<PageEntry> pageEntries) {
mPages.clear();
mPageInfos.clear();
public void update(List<PanelConfig> panelConfigs) {
mPanels.clear();
mPanelInfos.clear();
if (pageEntries != null) {
for (PageEntry pageEntry : pageEntries) {
final PageInfo info = new PageInfo(pageEntry);
addPage(info);
if (panelConfigs != null) {
for (PanelConfig panelConfig : panelConfigs) {
final PanelInfo info = new PanelInfo(panelConfig);
addPanel(info);
}
}
@ -132,34 +132,34 @@ class HomeAdapter extends FragmentStatePagerAdapter {
public void setCanLoadHint(boolean canLoadHint) {
// We cache the last hint value so that we can use it when
// creating new pages. See PageInfo.getArgs().
// creating new panels. See PanelInfo.getArgs().
mCanLoadHint = canLoadHint;
// Enable/disable loading on all existing pages
for (Fragment page : mPages.values()) {
final HomeFragment homePage = (HomeFragment) page;
homePage.setCanLoadHint(canLoadHint);
// Enable/disable loading on all existing panels
for (Fragment panelFragment : mPanels.values()) {
final HomeFragment panel = (HomeFragment) panelFragment;
panel.setCanLoadHint(canLoadHint);
}
}
private final class PageInfo {
private final PageEntry mPageEntry;
private final class PanelInfo {
private final PanelConfig mPanelConfig;
PageInfo(PageEntry pageEntry) {
mPageEntry = pageEntry;
PanelInfo(PanelConfig panelConfig) {
mPanelConfig = panelConfig;
}
public String getId() {
return mPageEntry.getId();
return mPanelConfig.getId();
}
public String getTitle() {
return mPageEntry.getTitle();
return mPanelConfig.getTitle();
}
public String getClassName() {
final PageType type = mPageEntry.getType();
return type.getPageClass().getName();
final PanelType type = mPanelConfig.getType();
return type.getPanelClass().getName();
}
public Bundle getArgs() {
@ -167,9 +167,9 @@ class HomeAdapter extends FragmentStatePagerAdapter {
args.putBoolean(HomePager.CAN_LOAD_ARG, mCanLoadHint);
// Only list pages need the page entry
if (mPageEntry.getType() == PageType.LIST) {
args.putParcelable(HomePager.PAGE_ENTRY_ARG, mPageEntry);
// Only ListPanel's need the PanelConfig argument
if (mPanelConfig.getType() == PanelType.LIST) {
args.putParcelable(HomePager.PANEL_CONFIG_ARG, mPanelConfig);
}
return args;

Просмотреть файл

@ -14,33 +14,33 @@ import java.util.EnumSet;
import java.util.List;
final class HomeConfig {
public static enum PageType implements Parcelable {
TOP_SITES("top_sites", TopSitesPage.class),
BOOKMARKS("bookmarks", BookmarksPage.class),
HISTORY("history", HistoryPage.class),
READING_LIST("reading_list", ReadingListPage.class),
LIST("list", ListPage.class);
public static enum PanelType implements Parcelable {
TOP_SITES("top_sites", TopSitesPanel.class),
BOOKMARKS("bookmarks", BookmarksPanel.class),
HISTORY("history", HistoryPanel.class),
READING_LIST("reading_list", ReadingListPanel.class),
LIST("list", ListPanel.class);
private final String mId;
private final Class<?> mPageClass;
private final Class<?> mPanelClass;
PageType(String id, Class<?> pageClass) {
PanelType(String id, Class<?> panelClass) {
mId = id;
mPageClass = pageClass;
mPanelClass = panelClass;
}
public static PageType fromId(String id) {
public static PanelType fromId(String id) {
if (id == null) {
throw new IllegalArgumentException("Could not convert null String to PageType");
throw new IllegalArgumentException("Could not convert null String to PanelType");
}
for (PageType page : PageType.values()) {
if (TextUtils.equals(page.mId, id.toLowerCase())) {
return page;
for (PanelType panelType : PanelType.values()) {
if (TextUtils.equals(panelType.mId, id.toLowerCase())) {
return panelType;
}
}
throw new IllegalArgumentException("Could not convert String id to PageType");
throw new IllegalArgumentException("Could not convert String id to PanelType");
}
@Override
@ -48,8 +48,8 @@ final class HomeConfig {
return mId;
}
public Class<?> getPageClass() {
return mPageClass;
public Class<?> getPanelClass() {
return mPanelClass;
}
@Override
@ -62,72 +62,72 @@ final class HomeConfig {
dest.writeInt(ordinal());
}
public static final Creator<PageType> CREATOR = new Creator<PageType>() {
public static final Creator<PanelType> CREATOR = new Creator<PanelType>() {
@Override
public PageType createFromParcel(final Parcel source) {
return PageType.values()[source.readInt()];
public PanelType createFromParcel(final Parcel source) {
return PanelType.values()[source.readInt()];
}
@Override
public PageType[] newArray(final int size) {
return new PageType[size];
public PanelType[] newArray(final int size) {
return new PanelType[size];
}
};
}
public static class PageEntry implements Parcelable {
private final PageType mType;
public static class PanelConfig implements Parcelable {
private final PanelType mType;
private final String mTitle;
private final String mId;
private final EnumSet<Flags> mFlags;
public enum Flags {
DEFAULT_PAGE
DEFAULT_PANEL
}
@SuppressWarnings("unchecked")
public PageEntry(Parcel in) {
mType = (PageType) in.readParcelable(getClass().getClassLoader());
public PanelConfig(Parcel in) {
mType = (PanelType) in.readParcelable(getClass().getClassLoader());
mTitle = in.readString();
mId = in.readString();
mFlags = (EnumSet<Flags>) in.readSerializable();
}
public PageEntry(PageType type, String title) {
public PanelConfig(PanelType type, String title) {
this(type, title, EnumSet.noneOf(Flags.class));
}
public PageEntry(PageType type, String title, EnumSet<Flags> flags) {
public PanelConfig(PanelType type, String title, EnumSet<Flags> flags) {
this(type, title, type.toString(), flags);
}
public PageEntry(PageType type, String title, String id) {
public PanelConfig(PanelType type, String title, String id) {
this(type, title, id, EnumSet.noneOf(Flags.class));
}
public PageEntry(PageType type, String title, String id, EnumSet<Flags> flags) {
public PanelConfig(PanelType type, String title, String id, EnumSet<Flags> flags) {
if (type == null) {
throw new IllegalArgumentException("Can't create PageEntry with null type");
throw new IllegalArgumentException("Can't create PanelConfig with null type");
}
mType = type;
if (title == null) {
throw new IllegalArgumentException("Can't create PageEntry with null title");
throw new IllegalArgumentException("Can't create PanelConfig with null title");
}
mTitle = title;
if (id == null) {
throw new IllegalArgumentException("Can't create PageEntry with null id");
throw new IllegalArgumentException("Can't create PanelConfig with null id");
}
mId = id;
if (flags == null) {
throw new IllegalArgumentException("Can't create PageEntry with null flags");
throw new IllegalArgumentException("Can't create PanelConfig with null flags");
}
mFlags = flags;
}
public PageType getType() {
public PanelType getType() {
return mType;
}
@ -140,7 +140,7 @@ final class HomeConfig {
}
public boolean isDefault() {
return mFlags.contains(Flags.DEFAULT_PAGE);
return mFlags.contains(Flags.DEFAULT_PANEL);
}
@Override
@ -156,15 +156,15 @@ final class HomeConfig {
dest.writeSerializable(mFlags);
}
public static final Creator<PageEntry> CREATOR = new Creator<PageEntry>() {
public static final Creator<PanelConfig> CREATOR = new Creator<PanelConfig>() {
@Override
public PageEntry createFromParcel(final Parcel in) {
return new PageEntry(in);
public PanelConfig createFromParcel(final Parcel in) {
return new PanelConfig(in);
}
@Override
public PageEntry[] newArray(final int size) {
return new PageEntry[size];
public PanelConfig[] newArray(final int size) {
return new PanelConfig[size];
}
};
}
@ -174,8 +174,8 @@ final class HomeConfig {
}
public interface HomeConfigBackend {
public List<PageEntry> load();
public void save(List<PageEntry> entries);
public List<PanelConfig> load();
public void save(List<PanelConfig> entries);
public void setOnChangeListener(OnChangeListener listener);
}
@ -185,11 +185,11 @@ final class HomeConfig {
mBackend = backend;
}
public List<PageEntry> load() {
public List<PanelConfig> load() {
return mBackend.load();
}
public void save(List<PageEntry> entries) {
public void save(List<PanelConfig> entries) {
mBackend.save(entries);
}

Просмотреть файл

@ -5,7 +5,7 @@
package org.mozilla.gecko.home;
import org.mozilla.gecko.home.HomeConfig.PageEntry;
import org.mozilla.gecko.home.HomeConfig.PanelConfig;
import org.mozilla.gecko.home.HomeConfig.OnChangeListener;
import android.content.Context;
@ -13,9 +13,9 @@ import android.support.v4.content.AsyncTaskLoader;
import java.util.List;
public class HomeConfigLoader extends AsyncTaskLoader<List<PageEntry>> {
public class HomeConfigLoader extends AsyncTaskLoader<List<PanelConfig>> {
private final HomeConfig mConfig;
private List<PageEntry> mPageEntries;
private List<PanelConfig> mPanelConfigs;
public HomeConfigLoader(Context context, HomeConfig homeConfig) {
super(context);
@ -23,32 +23,32 @@ public class HomeConfigLoader extends AsyncTaskLoader<List<PageEntry>> {
}
@Override
public List<PageEntry> loadInBackground() {
public List<PanelConfig> loadInBackground() {
return mConfig.load();
}
@Override
public void deliverResult(List<PageEntry> pageEntries) {
public void deliverResult(List<PanelConfig> panelConfigs) {
if (isReset()) {
mPageEntries = null;
mPanelConfigs = null;
return;
}
mPageEntries = pageEntries;
mPanelConfigs = panelConfigs;
mConfig.setOnChangeListener(new ForceLoadChangeListener());
if (isStarted()) {
super.deliverResult(pageEntries);
super.deliverResult(panelConfigs);
}
}
@Override
protected void onStartLoading() {
if (mPageEntries != null) {
deliverResult(mPageEntries);
if (mPanelConfigs != null) {
deliverResult(mPanelConfigs);
}
if (takeContentChanged() || mPageEntries == null) {
if (takeContentChanged() || mPanelConfigs == null) {
forceLoad();
}
}
@ -59,8 +59,8 @@ public class HomeConfigLoader extends AsyncTaskLoader<List<PageEntry>> {
}
@Override
public void onCanceled(List<PageEntry> pageEntries) {
mPageEntries = null;
public void onCanceled(List<PanelConfig> panelConfigs) {
mPanelConfigs = null;
}
@Override
@ -70,7 +70,7 @@ public class HomeConfigLoader extends AsyncTaskLoader<List<PageEntry>> {
// Ensure the loader is stopped.
onStopLoading();
mPageEntries = null;
mPanelConfigs = null;
mConfig.setOnChangeListener(null);
}

Просмотреть файл

@ -8,8 +8,8 @@ package org.mozilla.gecko.home;
import org.mozilla.gecko.R;
import org.mozilla.gecko.home.HomeConfig.HomeConfigBackend;
import org.mozilla.gecko.home.HomeConfig.OnChangeListener;
import org.mozilla.gecko.home.HomeConfig.PageEntry;
import org.mozilla.gecko.home.HomeConfig.PageType;
import org.mozilla.gecko.home.HomeConfig.PanelConfig;
import org.mozilla.gecko.home.HomeConfig.PanelType;
import org.mozilla.gecko.util.HardwareUtils;
import org.mozilla.gecko.util.ThreadUtils;
@ -53,129 +53,129 @@ class HomeConfigPrefsBackend implements HomeConfigBackend {
return PreferenceManager.getDefaultSharedPreferences(mContext);
}
private List<PageEntry> loadDefaultConfig() {
final ArrayList<PageEntry> pageEntries = new ArrayList<PageEntry>();
private List<PanelConfig> loadDefaultConfig() {
final ArrayList<PanelConfig> panelConfigs = new ArrayList<PanelConfig>();
pageEntries.add(new PageEntry(PageType.TOP_SITES,
panelConfigs.add(new PanelConfig(PanelType.TOP_SITES,
mContext.getString(R.string.home_top_sites_title),
EnumSet.of(PageEntry.Flags.DEFAULT_PAGE)));
EnumSet.of(PanelConfig.Flags.DEFAULT_PANEL)));
pageEntries.add(new PageEntry(PageType.BOOKMARKS,
panelConfigs.add(new PanelConfig(PanelType.BOOKMARKS,
mContext.getString(R.string.bookmarks_title)));
// We disable reader mode support on low memory devices. Hence the
// reading list page should not show up on such devices.
// reading list panel should not show up on such devices.
if (!HardwareUtils.isLowMemoryPlatform()) {
pageEntries.add(new PageEntry(PageType.READING_LIST,
panelConfigs.add(new PanelConfig(PanelType.READING_LIST,
mContext.getString(R.string.reading_list_title)));
}
final PageEntry historyEntry = new PageEntry(PageType.HISTORY,
final PanelConfig historyEntry = new PanelConfig(PanelType.HISTORY,
mContext.getString(R.string.home_history_title));
// On tablets, the history page is the last.
// On phones, the history page is the first one.
// On tablets, the history panel is the last.
// On phones, the history panel is the first one.
if (HardwareUtils.isTablet()) {
pageEntries.add(historyEntry);
panelConfigs.add(historyEntry);
} else {
pageEntries.add(0, historyEntry);
panelConfigs.add(0, historyEntry);
}
return pageEntries;
return panelConfigs;
}
private List<PageEntry> loadConfigFromString(String jsonString) {
final JSONArray jsonPageEntries;
private List<PanelConfig> loadConfigFromString(String jsonString) {
final JSONArray jsonPanelConfigs;
try {
jsonPageEntries = new JSONArray(jsonString);
jsonPanelConfigs = new JSONArray(jsonString);
} catch (JSONException e) {
Log.e(LOGTAG, "Error loading the list of home pages from JSON prefs", e);
Log.e(LOGTAG, "Error loading the list of home panels from JSON prefs", e);
// Fallback to default config
return loadDefaultConfig();
}
final ArrayList<PageEntry> pageEntries = new ArrayList<PageEntry>();
final ArrayList<PanelConfig> panelConfigs = new ArrayList<PanelConfig>();
final int count = jsonPageEntries.length();
final int count = jsonPanelConfigs.length();
for (int i = 0; i < count; i++) {
try {
final JSONObject jsonPageEntry = jsonPageEntries.getJSONObject(i);
final JSONObject jsonPanelConfig = jsonPanelConfigs.getJSONObject(i);
final PageEntry pageEntry = loadPageEntryFromJSON(jsonPageEntry);
pageEntries.add(pageEntry);
final PanelConfig panelConfig = loadPanelConfigFromJSON(jsonPanelConfig);
panelConfigs.add(panelConfig);
} catch (Exception e) {
Log.e(LOGTAG, "Exception loading page entry from JSON", e);
Log.e(LOGTAG, "Exception loading PanelConfig from JSON", e);
}
}
return pageEntries;
return panelConfigs;
}
private PageEntry loadPageEntryFromJSON(JSONObject jsonPageEntry)
private PanelConfig loadPanelConfigFromJSON(JSONObject jsonPanelConfig)
throws JSONException, IllegalArgumentException {
final PageType type = PageType.fromId(jsonPageEntry.getString(JSON_KEY_TYPE));
final String title = jsonPageEntry.getString(JSON_KEY_TITLE);
final String id = jsonPageEntry.getString(JSON_KEY_ID);
final PanelType type = PanelType.fromId(jsonPanelConfig.getString(JSON_KEY_TYPE));
final String title = jsonPanelConfig.getString(JSON_KEY_TITLE);
final String id = jsonPanelConfig.getString(JSON_KEY_ID);
final EnumSet<PageEntry.Flags> flags = EnumSet.noneOf(PageEntry.Flags.class);
final boolean isDefault = (jsonPageEntry.optInt(JSON_KEY_DEFAULT, -1) == IS_DEFAULT);
final EnumSet<PanelConfig.Flags> flags = EnumSet.noneOf(PanelConfig.Flags.class);
final boolean isDefault = (jsonPanelConfig.optInt(JSON_KEY_DEFAULT, -1) == IS_DEFAULT);
if (isDefault) {
flags.add(PageEntry.Flags.DEFAULT_PAGE);
flags.add(PanelConfig.Flags.DEFAULT_PANEL);
}
return new PageEntry(type, title, id, flags);
return new PanelConfig(type, title, id, flags);
}
@Override
public List<PageEntry> load() {
public List<PanelConfig> load() {
final SharedPreferences prefs = getSharedPreferences();
final String jsonString = prefs.getString(PREFS_KEY, null);
final List<PageEntry> pageEntries;
final List<PanelConfig> panelConfigs;
if (TextUtils.isEmpty(jsonString)) {
pageEntries = loadDefaultConfig();
panelConfigs = loadDefaultConfig();
} else {
pageEntries = loadConfigFromString(jsonString);
panelConfigs = loadConfigFromString(jsonString);
}
return Collections.unmodifiableList(pageEntries);
return Collections.unmodifiableList(panelConfigs);
}
private JSONObject convertPageEntryToJSON(PageEntry pageEntry) throws JSONException {
final JSONObject jsonPageEntry = new JSONObject();
private JSONObject convertPanelConfigToJSON(PanelConfig PanelConfig) throws JSONException {
final JSONObject jsonPanelConfig = new JSONObject();
jsonPageEntry.put(JSON_KEY_TYPE, pageEntry.getType().toString());
jsonPageEntry.put(JSON_KEY_TITLE, pageEntry.getTitle());
jsonPageEntry.put(JSON_KEY_ID, pageEntry.getId());
jsonPanelConfig.put(JSON_KEY_TYPE, PanelConfig.getType().toString());
jsonPanelConfig.put(JSON_KEY_TITLE, PanelConfig.getTitle());
jsonPanelConfig.put(JSON_KEY_ID, PanelConfig.getId());
if (pageEntry.isDefault()) {
jsonPageEntry.put(JSON_KEY_DEFAULT, IS_DEFAULT);
if (PanelConfig.isDefault()) {
jsonPanelConfig.put(JSON_KEY_DEFAULT, IS_DEFAULT);
}
return jsonPageEntry;
return jsonPanelConfig;
}
@Override
public void save(List<PageEntry> pageEntries) {
final JSONArray jsonPageEntries = new JSONArray();
public void save(List<PanelConfig> panelConfigs) {
final JSONArray jsonPanelConfigs = new JSONArray();
final int count = pageEntries.size();
final int count = panelConfigs.size();
for (int i = 0; i < count; i++) {
try {
final PageEntry pageEntry = pageEntries.get(i);
final PanelConfig PanelConfig = panelConfigs.get(i);
final JSONObject jsonPageEntry = convertPageEntryToJSON(pageEntry);
jsonPageEntries.put(jsonPageEntry);
final JSONObject jsonPanelConfig = convertPanelConfigToJSON(PanelConfig);
jsonPanelConfigs.put(jsonPanelConfig);
} catch (Exception e) {
Log.e(LOGTAG, "Exception loading page entry from JSON", e);
Log.e(LOGTAG, "Exception converting PanelConfig to JSON", e);
}
}
final SharedPreferences prefs = getSharedPreferences();
final SharedPreferences.Editor editor = prefs.edit();
final String jsonString = jsonPageEntries.toString();
final String jsonString = jsonPanelConfigs.toString();
editor.putString(PREFS_KEY, jsonString);
editor.commit();
}

Просмотреть файл

@ -8,9 +8,9 @@ package org.mozilla.gecko.home;
import org.mozilla.gecko.R;
import org.mozilla.gecko.animation.PropertyAnimator;
import org.mozilla.gecko.animation.ViewHelper;
import org.mozilla.gecko.home.HomeAdapter.OnAddPageListener;
import org.mozilla.gecko.home.HomeConfig.PageEntry;
import org.mozilla.gecko.home.HomeConfig.PageType;
import org.mozilla.gecko.home.HomeAdapter.OnAddPanelListener;
import org.mozilla.gecko.home.HomeConfig.PanelConfig;
import org.mozilla.gecko.home.HomeConfig.PanelType;
import org.mozilla.gecko.util.HardwareUtils;
import android.content.Context;
@ -40,12 +40,12 @@ public class HomePager extends ViewPager {
private Decor mDecor;
private View mTabStrip;
private final OnAddPageListener mAddPageListener;
private final OnAddPanelListener mAddPanelListener;
private final HomeConfig mConfig;
private ConfigLoaderCallbacks mConfigLoaderCallbacks;
private String mInitialPageId;
private String mInitialPanelId;
// Whether or not we need to restart the loader when we show the HomePager.
private boolean mRestartLoader;
@ -88,7 +88,7 @@ public class HomePager extends ViewPager {
}
static final String CAN_LOAD_ARG = "canLoad";
static final String PAGE_ENTRY_ARG = "pageEntry";
static final String PANEL_CONFIG_ARG = "panelConfig";
public HomePager(Context context) {
this(context, null);
@ -101,16 +101,16 @@ public class HomePager extends ViewPager {
mConfig = HomeConfig.getDefault(mContext);
mConfigLoaderCallbacks = new ConfigLoaderCallbacks();
mAddPageListener = new OnAddPageListener() {
mAddPanelListener = new OnAddPanelListener() {
@Override
public void onAddPage(String title) {
public void onAddPanel(String title) {
if (mDecor != null) {
mDecor.onAddPagerView(title);
}
}
};
// This is to keep all 4 pages in memory after they are
// This is to keep all 4 panels in memory after they are
// selected in the pager.
setOffscreenPageLimit(3);
@ -173,17 +173,17 @@ public class HomePager extends ViewPager {
private void redisplay(LoaderManager lm, FragmentManager fm) {
final HomeAdapter adapter = (HomeAdapter) getAdapter();
// If mInitialPageId is non-null, this means the HomePager hasn't
// If mInitialPanelId is non-null, this means the HomePager hasn't
// finished loading its config yet. Simply re-show() with the
// current target page.
final String currentPageId;
if (mInitialPageId != null) {
currentPageId = mInitialPageId;
// current target panel.
final String currentPanelId;
if (mInitialPanelId != null) {
currentPanelId = mInitialPanelId;
} else {
currentPageId = adapter.getPageIdAtPosition(getCurrentItem());
currentPanelId = adapter.getPanelIdAtPosition(getCurrentItem());
}
show(lm, fm, currentPageId, null);
show(lm, fm, currentPanelId, null);
}
/**
@ -191,25 +191,25 @@ public class HomePager extends ViewPager {
*
* @param fm FragmentManager for the adapter
*/
public void show(LoaderManager lm, FragmentManager fm, String pageId, PropertyAnimator animator) {
public void show(LoaderManager lm, FragmentManager fm, String panelId, PropertyAnimator animator) {
mLoaded = true;
mInitialPageId = pageId;
mInitialPanelId = panelId;
// Only animate on post-HC devices, when a non-null animator is given
final boolean shouldAnimate = (animator != null && Build.VERSION.SDK_INT >= 11);
final HomeAdapter adapter = new HomeAdapter(mContext, fm);
adapter.setOnAddPageListener(mAddPageListener);
adapter.setOnAddPanelListener(mAddPanelListener);
adapter.setCanLoadHint(!shouldAnimate);
setAdapter(adapter);
setVisibility(VISIBLE);
// Don't show the tabs strip until we have the
// list of pages in place.
// list of panels in place.
mTabStrip.setVisibility(View.INVISIBLE);
// Load list of pages from configuration. Restart the loader if necessary.
// Load list of panels from configuration. Restart the loader if necessary.
if (mRestartLoader) {
lm.restartLoader(LOADER_ID_CONFIG, null, mConfigLoaderCallbacks);
mRestartLoader = false;
@ -279,7 +279,7 @@ public class HomePager extends ViewPager {
return super.onInterceptTouchEvent(event);
}
private void updateUiFromPageEntries(List<PageEntry> pageEntries) {
private void updateUiFromPanelConfigs(List<PanelConfig> panelConfigs) {
// We only care about the adapter if HomePager is currently
// loaded, which means it's visible in the activity.
if (!mLoaded) {
@ -293,27 +293,27 @@ public class HomePager extends ViewPager {
final HomeAdapter adapter = (HomeAdapter) getAdapter();
// Disable loading until the final current item is defined
// after loading the page entries. This is to stop any temporary
// after loading the panel configs. This is to stop any temporary
// active item from loading.
boolean originalCanLoadHint = adapter.getCanLoadHint();
adapter.setCanLoadHint(false);
// Update the adapter with the new page entries
adapter.update(pageEntries);
// Update the adapter with the new panel configs
adapter.update(panelConfigs);
final int count = (pageEntries != null ? pageEntries.size() : 0);
final int count = (panelConfigs != null ? panelConfigs.size() : 0);
mTabStrip.setVisibility(count > 0 ? View.VISIBLE : View.INVISIBLE);
// Use the default page as defined in the HomePager's configuration
// if the initial page wasn't explicitly set by the show() caller.
if (mInitialPageId != null) {
// XXX: Handle the case where the desired page isn't currently in the adapter (bug 949178)
setCurrentItem(adapter.getItemPosition(mInitialPageId), false);
mInitialPageId = null;
// Use the default panel as defined in the HomePager's configuration
// if the initial panel wasn't explicitly set by the show() caller.
if (mInitialPanelId != null) {
// XXX: Handle the case where the desired panel isn't currently in the adapter (bug 949178)
setCurrentItem(adapter.getItemPosition(mInitialPanelId), false);
mInitialPanelId = null;
} else {
for (int i = 0; i < count; i++) {
final PageEntry pageEntry = pageEntries.get(i);
if (pageEntry.isDefault()) {
final PanelConfig panelConfig = panelConfigs.get(i);
if (panelConfig.isDefault()) {
setCurrentItem(i, false);
break;
}
@ -325,20 +325,20 @@ public class HomePager extends ViewPager {
adapter.setCanLoadHint(originalCanLoadHint);
}
private class ConfigLoaderCallbacks implements LoaderCallbacks<List<PageEntry>> {
private class ConfigLoaderCallbacks implements LoaderCallbacks<List<PanelConfig>> {
@Override
public Loader<List<PageEntry>> onCreateLoader(int id, Bundle args) {
public Loader<List<PanelConfig>> onCreateLoader(int id, Bundle args) {
return new HomeConfigLoader(mContext, mConfig);
}
@Override
public void onLoadFinished(Loader<List<PageEntry>> loader, List<PageEntry> pageEntries) {
updateUiFromPageEntries(pageEntries);
public void onLoadFinished(Loader<List<PanelConfig>> loader, List<PanelConfig> panelConfigs) {
updateUiFromPanelConfigs(panelConfigs);
}
@Override
public void onLoaderReset(Loader<List<PageEntry>> loader) {
updateUiFromPageEntries(null);
public void onLoaderReset(Loader<List<PanelConfig>> loader) {
updateUiFromPanelConfigs(null);
}
}
}

Просмотреть файл

@ -36,9 +36,9 @@ import android.widget.TextView;
/**
* Fragment that displays tabs from last session in a ListView.
*/
public class LastTabsPage extends HomeFragment {
public class LastTabsPanel extends HomeFragment {
// Logging tag name
private static final String LOGTAG = "GeckoLastTabsPage";
private static final String LOGTAG = "GeckoLastTabsPanel";
// Cursor loader ID for the session parser
private static final int LOADER_ID_LAST_TABS = 0;
@ -49,7 +49,7 @@ public class LastTabsPage extends HomeFragment {
// The view shown by the fragment.
private ListView mList;
// The title for this HomeFragment page.
// The title for this HomeFragment panel.
private TextView mTitle;
// The button view for restoring tabs from last session.
@ -64,11 +64,11 @@ public class LastTabsPage extends HomeFragment {
// On new tabs listener
private OnNewTabsListener mNewTabsListener;
public static LastTabsPage newInstance() {
return new LastTabsPage();
public static LastTabsPanel newInstance() {
return new LastTabsPanel();
}
public LastTabsPage() {
public LastTabsPanel() {
mNewTabsListener = null;
}
@ -93,7 +93,7 @@ public class LastTabsPage extends HomeFragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.home_last_tabs_page, container, false);
return inflater.inflate(R.layout.home_last_tabs_panel, container, false);
}
@Override
@ -169,7 +169,7 @@ public class LastTabsPage extends HomeFragment {
mRestoreButton.setVisibility(View.GONE);
if (mEmptyView == null) {
// Set empty page view. We delay this so that the empty view won't flash.
// Set empty panel view. We delay this so that the empty view won't flash.
final ViewStub emptyViewStub = (ViewStub) getView().findViewById(R.id.home_empty_view_stub);
mEmptyView = emptyViewStub.inflate();

Просмотреть файл

@ -9,7 +9,7 @@ import org.mozilla.gecko.R;
import org.mozilla.gecko.db.BrowserContract;
import org.mozilla.gecko.db.BrowserContract.HomeListItems;
import org.mozilla.gecko.home.HomePager.OnUrlOpenListener;
import org.mozilla.gecko.home.HomeConfig.PageEntry;
import org.mozilla.gecko.home.HomeConfig.PanelConfig;
import android.app.Activity;
import android.content.ContentResolver;
@ -32,14 +32,14 @@ import java.util.EnumSet;
/**
* Fragment that displays custom lists.
*/
public class ListPage extends HomeFragment {
private static final String LOGTAG = "GeckoListPage";
public class ListPanel extends HomeFragment {
private static final String LOGTAG = "GeckoListPanel";
// Cursor loader ID for the lists
private static final int LOADER_ID_LIST = 0;
// The page entry associated with this page
private PageEntry mPageEntry;
// The configuration associated with this panel
private PanelConfig mPanelConfig;
// Adapter for the list
private HomeListAdapter mAdapter;
@ -78,11 +78,11 @@ public class ListPage extends HomeFragment {
final Bundle args = getArguments();
if (args != null) {
mPageEntry = (PageEntry) args.getParcelable(HomePager.PAGE_ENTRY_ARG);
mPanelConfig = (PanelConfig) args.getParcelable(HomePager.PANEL_CONFIG_ARG);
}
if (mPageEntry == null) {
throw new IllegalStateException("Can't create a ListPage without a PageEntry");
if (mPanelConfig == null) {
throw new IllegalStateException("Can't create a ListPanel without a PanelConfig");
}
}
@ -189,7 +189,7 @@ public class ListPage extends HomeFragment {
private class CursorLoaderCallbacks implements LoaderCallbacks<Cursor> {
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
return new HomeListLoader(getActivity(), mPageEntry.getId());
return new HomeListLoader(getActivity(), mPanelConfig.getId());
}
@Override

Просмотреть файл

@ -35,9 +35,9 @@ import java.util.EnumSet;
/**
* Fragment that displays recent history in a ListView.
*/
public class MostRecentPage extends HomeFragment {
public class MostRecentPanel extends HomeFragment {
// Logging tag name
private static final String LOGTAG = "GeckoMostRecentPage";
private static final String LOGTAG = "GeckoMostRecentPanel";
// Cursor loader ID for history query
private static final int LOADER_ID_HISTORY = 0;
@ -57,11 +57,11 @@ public class MostRecentPage extends HomeFragment {
// On URL open listener
private OnUrlOpenListener mUrlOpenListener;
public static MostRecentPage newInstance() {
return new MostRecentPage();
public static MostRecentPanel newInstance() {
return new MostRecentPanel();
}
public MostRecentPage() {
public MostRecentPanel() {
mUrlOpenListener = null;
}
@ -85,7 +85,7 @@ public class MostRecentPage extends HomeFragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.home_most_recent_page, container, false);
return inflater.inflate(R.layout.home_most_recent_panel, container, false);
}
@Override
@ -155,7 +155,7 @@ public class MostRecentPage extends HomeFragment {
// Cursor is empty, so set the empty view if it hasn't been set already.
if (mEmptyView == null) {
// Set empty page view. We delay this so that the empty view won't flash.
// Set empty panel view. We delay this so that the empty view won't flash.
final ViewStub emptyViewStub = (ViewStub) getView().findViewById(R.id.home_empty_view_stub);
mEmptyView = emptyViewStub.inflate();

Просмотреть файл

@ -111,7 +111,7 @@ class PinSiteDialog extends DialogFragment {
// If the user manually entered a search term or URL, wrap the value in
// a special URI until we can get a valid URL for this bookmark.
final String text = mSearch.getText().toString();
final String url = TopSitesPage.encodeUserEnteredUrl(text);
final String url = TopSitesPanel.encodeUserEnteredUrl(text);
mOnSiteSelectedListener.onSiteSelected(url, text);
dismiss();

Просмотреть файл

@ -37,7 +37,7 @@ import java.util.EnumSet;
/**
* Fragment that displays reading list contents in a ListView.
*/
public class ReadingListPage extends HomeFragment {
public class ReadingListPanel extends HomeFragment {
// Cursor loader ID for reading list
private static final int LOADER_ID_READING_LIST = 0;
@ -80,7 +80,7 @@ public class ReadingListPage extends HomeFragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.home_reading_list_page, container, false);
return inflater.inflate(R.layout.home_reading_list_panel, container, false);
}
@Override

Просмотреть файл

@ -193,7 +193,7 @@ public class TopSitesGridItemView extends RelativeLayout {
// The dirty state forces the state update to return true
// so that the adapter loads favicons once the thumbnails
// are loaded in TopSitesPage/TopSitesGridAdapter.
// are loaded in TopSitesPanel/TopSitesGridAdapter.
changed = (changed || mIsDirty);
mIsDirty = false;

Просмотреть файл

@ -106,7 +106,7 @@ public class TopSitesGridView extends GridView {
TopSitesGridItemView row = (TopSitesGridItemView) view;
// Decode "user-entered" URLs before loading them.
String url = TopSitesPage.decodeUserEnteredUrl(row.getUrl());
String url = TopSitesPanel.decodeUserEnteredUrl(row.getUrl());
// If the url is empty, the user can pin a site.
// If not, navigate to the page given by the url.

Просмотреть файл

@ -62,9 +62,9 @@ import java.util.Map;
/**
* Fragment that displays frecency search results in a ListView.
*/
public class TopSitesPage extends HomeFragment {
public class TopSitesPanel extends HomeFragment {
// Logging tag name
private static final String LOGTAG = "GeckoTopSitesPage";
private static final String LOGTAG = "GeckoTopSitesPanel";
// Cursor loader ID for the top sites
private static final int LOADER_ID_TOP_SITES = 0;
@ -114,11 +114,11 @@ public class TopSitesPage extends HomeFragment {
// Time in ms until the Gecko thread is reset to normal priority.
private static final long PRIORITY_RESET_TIMEOUT = 10000;
public static TopSitesPage newInstance() {
return new TopSitesPage();
public static TopSitesPanel newInstance() {
return new TopSitesPanel();
}
public TopSitesPage() {
public TopSitesPanel() {
mUrlOpenListener = null;
}
@ -160,7 +160,7 @@ public class TopSitesPage extends HomeFragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
final View view = inflater.inflate(R.layout.home_top_sites_page, container, false);
final View view = inflater.inflate(R.layout.home_top_sites_panel, container, false);
mList = (HomeListView) view.findViewById(R.id.list);
@ -212,7 +212,7 @@ public class TopSitesPage extends HomeFragment {
mList.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
TopSitesPage.this.handleListTouchEvent(event);
TopSitesPanel.this.handleListTouchEvent(event);
return false;
}
});

Просмотреть файл

@ -208,10 +208,10 @@ gbjar.sources += [
'home/BookmarkFolderView.java',
'home/BookmarksListAdapter.java',
'home/BookmarksListView.java',
'home/BookmarksPage.java',
'home/BookmarksPanel.java',
'home/BrowserSearch.java',
'home/FadedTextView.java',
'home/HistoryPage.java',
'home/HistoryPanel.java',
'home/HomeAdapter.java',
'home/HomeBanner.java',
'home/HomeConfig.java',
@ -221,13 +221,13 @@ gbjar.sources += [
'home/HomeListView.java',
'home/HomePager.java',
'home/HomePagerTabStrip.java',
'home/LastTabsPage.java',
'home/ListPage.java',
'home/MostRecentPage.java',
'home/LastTabsPanel.java',
'home/ListPanel.java',
'home/MostRecentPanel.java',
'home/MultiTypeCursorAdapter.java',
'home/PanelManager.java',
'home/PinSiteDialog.java',
'home/ReadingListPage.java',
'home/ReadingListPanel.java',
'home/SearchEngine.java',
'home/SearchEngineRow.java',
'home/SearchLoader.java',
@ -236,7 +236,7 @@ gbjar.sources += [
'home/TabMenuStrip.java',
'home/TopSitesGridItemView.java',
'home/TopSitesGridView.java',
'home/TopSitesPage.java',
'home/TopSitesPanel.java',
'home/TopSitesThumbnailView.java',
'home/TwoLinePageRow.java',
'InputMethods.java',

Просмотреть файл

@ -16,7 +16,7 @@
android:layout="@layout/home_history_tabs_indicator"
gecko:display="text"/>
<FrameLayout android:id="@+id/history_page_container"
<FrameLayout android:id="@+id/history_panel_container"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="1" />

Просмотреть файл

@ -16,7 +16,7 @@
android:layout="@layout/home_history_tabs_indicator"
gecko:display="text"/>
<FrameLayout android:id="@+id/history_page_container"
<FrameLayout android:id="@+id/history_panel_container"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="1" />

Просмотреть файл

@ -11,7 +11,7 @@
android:layout_height="fill_parent"/>
<TextView android:id="@+id/title"
style="@style/Widget.Home.HistoryPageTitle"
style="@style/Widget.Home.HistoryPanelTitle"
android:visibility="gone"/>
<org.mozilla.gecko.home.HomeListView

Просмотреть файл

@ -8,7 +8,7 @@
android:layout_height="fill_parent"
android:orientation="vertical">
<FrameLayout android:id="@+id/history_page_container"
<FrameLayout android:id="@+id/history_panel_container"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1" />

Просмотреть файл

@ -53,7 +53,7 @@
<!--
The content of the banner should align with the Grid/List views
in BookmarksPage. BookmarksListView has a 120dp padding and
in BookmarksPanel. BookmarksListView has a 120dp padding and
the TwoLinePageRows have a 50dp padding. Hence HomeBanner should
have 170dp padding.
-->

Просмотреть файл

@ -91,7 +91,7 @@
<style name="Widget.ReadingListView" parent="Widget.BookmarksListView"/>
<style name="Widget.Home.HistoryPageTitle" parent="Widget.Home.HistoryTabIndicator">
<style name="Widget.Home.HistoryPanelTitle" parent="Widget.Home.HistoryTabIndicator">
<item name="android:layout_marginLeft">32dp</item>
<item name="android:layout_marginRight">32dp</item>
</style>

Просмотреть файл

@ -209,14 +209,14 @@
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">32dp</item>
<item name="android:textAppearance">@style/TextAppearance.Widget.Home.PageTitle</item>
<item name="android:background">@drawable/home_page_title_background</item>
<item name="android:background">@drawable/home_panel_title_background</item>
<item name="android:focusable">false</item>
<item name="android:gravity">center|left</item>
<item name="android:paddingLeft">10dip</item>
<item name="android:paddingRight">10dip</item>
</style>
<style name="Widget.Home.HistoryPageTitle" parent="Widget.Home.HistoryTabIndicator"/>
<style name="Widget.Home.HistoryPanelTitle" parent="Widget.Home.HistoryTabIndicator"/>
<!--
TextAppearance

Просмотреть файл

@ -24,8 +24,8 @@ import android.view.View;
public class AboutHomeComponent extends BaseComponent {
private static final String LOGTAG = AboutHomeComponent.class.getSimpleName();
// The different types of pages that can be present on about:home
public enum PageType {
// The different types of panels that can be present on about:home
public enum PanelType {
HISTORY,
TOP_SITES,
BOOKMARKS,
@ -62,7 +62,7 @@ public class AboutHomeComponent extends BaseComponent {
return (ViewPager) mSolo.getView(R.id.home_pager);
}
public AboutHomeComponent assertCurrentPage(final PageType expectedPage) {
public AboutHomeComponent assertCurrentPage(final PanelType expectedPage) {
assertVisible();
final int expectedPageIndex = getPageIndexForDevice(expectedPage.ordinal());
@ -132,10 +132,10 @@ public class AboutHomeComponent extends BaseComponent {
/**
* Gets the page index in the device specific Page enum for the given index in the
* PageType enum.
* PanelType enum.
*/
private int getPageIndexForDevice(final int pageIndex) {
final String pageName = PageType.values()[pageIndex].name();
final String pageName = PanelType.values()[pageIndex].name();
final Class devicePageEnum =
DeviceHelper.isTablet() ? TabletPage.class : PhonePage.class;
return Enum.valueOf(devicePageEnum, pageName).ordinal();

Просмотреть файл

@ -9,7 +9,7 @@ skip-if = processor == "x86"
# disabled on x86 only; bug 927476
skip-if = processor == "x86"
# [testBookmark] # see bug 915350
[testBookmarksPage]
[testBookmarksPanel]
[testBookmarkFolders]
# [testBookmarklets] # see bug 915350
# [testBookmarkKeyword] # see bug 915350

Просмотреть файл

@ -2,7 +2,7 @@ package org.mozilla.gecko.tests;
import static org.mozilla.gecko.tests.helpers.AssertionHelper.*;
import org.mozilla.gecko.tests.components.AboutHomeComponent.PageType;
import org.mozilla.gecko.tests.components.AboutHomeComponent.PanelType;
import org.mozilla.gecko.tests.helpers.*;
/**
@ -16,13 +16,13 @@ public class testAboutHomePageNavigation extends UITest {
GeckoHelper.blockForReady();
mAboutHome.assertVisible()
.assertCurrentPage(PageType.TOP_SITES);
.assertCurrentPage(PanelType.TOP_SITES);
mAboutHome.swipeToPageOnRight();
mAboutHome.assertCurrentPage(PageType.BOOKMARKS);
mAboutHome.assertCurrentPage(PanelType.BOOKMARKS);
mAboutHome.swipeToPageOnRight();
mAboutHome.assertCurrentPage(PageType.READING_LIST);
mAboutHome.assertCurrentPage(PanelType.READING_LIST);
// Ideally these helpers would just be their own tests. However, by keeping this within
// one method, we're saving test setUp and tearDown resources.
@ -35,46 +35,46 @@ public class testAboutHomePageNavigation extends UITest {
private void helperTestTablet() {
mAboutHome.swipeToPageOnRight();
mAboutHome.assertCurrentPage(PageType.HISTORY);
mAboutHome.assertCurrentPage(PanelType.HISTORY);
// Edge case.
mAboutHome.swipeToPageOnRight();
mAboutHome.assertCurrentPage(PageType.HISTORY);
mAboutHome.assertCurrentPage(PanelType.HISTORY);
mAboutHome.swipeToPageOnLeft();
mAboutHome.assertCurrentPage(PageType.READING_LIST);
mAboutHome.assertCurrentPage(PanelType.READING_LIST);
mAboutHome.swipeToPageOnLeft();
mAboutHome.assertCurrentPage(PageType.BOOKMARKS);
mAboutHome.assertCurrentPage(PanelType.BOOKMARKS);
mAboutHome.swipeToPageOnLeft();
mAboutHome.assertCurrentPage(PageType.TOP_SITES);
mAboutHome.assertCurrentPage(PanelType.TOP_SITES);
// Edge case.
mAboutHome.swipeToPageOnLeft();
mAboutHome.assertCurrentPage(PageType.TOP_SITES);
mAboutHome.assertCurrentPage(PanelType.TOP_SITES);
}
private void helperTestPhone() {
// Edge case.
mAboutHome.swipeToPageOnRight();
mAboutHome.assertCurrentPage(PageType.READING_LIST);
mAboutHome.assertCurrentPage(PanelType.READING_LIST);
mAboutHome.swipeToPageOnLeft();
mAboutHome.assertCurrentPage(PageType.BOOKMARKS);
mAboutHome.assertCurrentPage(PanelType.BOOKMARKS);
mAboutHome.swipeToPageOnLeft();
mAboutHome.assertCurrentPage(PageType.TOP_SITES);
mAboutHome.assertCurrentPage(PanelType.TOP_SITES);
mAboutHome.swipeToPageOnLeft();
mAboutHome.assertCurrentPage(PageType.HISTORY);
mAboutHome.assertCurrentPage(PanelType.HISTORY);
// Edge case.
mAboutHome.swipeToPageOnLeft();
mAboutHome.assertCurrentPage(PageType.HISTORY);
mAboutHome.assertCurrentPage(PanelType.HISTORY);
mAboutHome.swipeToPageOnRight();
mAboutHome.assertCurrentPage(PageType.TOP_SITES);
mAboutHome.assertCurrentPage(PanelType.TOP_SITES);
}
// TODO: bug 943706 - reimplement this old test code.

Просмотреть файл

@ -2,7 +2,7 @@ package org.mozilla.gecko.tests;
import static org.mozilla.gecko.tests.helpers.AssertionHelper.*;
import org.mozilla.gecko.tests.components.AboutHomeComponent.PageType;
import org.mozilla.gecko.tests.components.AboutHomeComponent.PanelType;
import org.mozilla.gecko.tests.helpers.*;
/**
@ -15,7 +15,7 @@ public class testAboutHomeVisibility extends UITest {
// Check initial state on about:home.
mToolbar.assertTitle(StringHelper.ABOUT_HOME_TITLE);
mAboutHome.assertVisible()
.assertCurrentPage(PageType.TOP_SITES);
.assertCurrentPage(PanelType.TOP_SITES);
// Go to blank 01.
NavigationHelper.enterAndLoadUrl(StringHelper.ROBOCOP_BLANK_PAGE_01_URL);
@ -30,7 +30,7 @@ public class testAboutHomeVisibility extends UITest {
// Enter editing mode, where the about:home UI should be visible.
mToolbar.enterEditingMode();
mAboutHome.assertVisible()
.assertCurrentPage(PageType.TOP_SITES);
.assertCurrentPage(PanelType.TOP_SITES);
// Dismiss editing mode, where the about:home UI should be gone.
mToolbar.dismissEditingMode();
@ -40,7 +40,7 @@ public class testAboutHomeVisibility extends UITest {
NavigationHelper.enterAndLoadUrl(StringHelper.ABOUT_HOME_URL);
mToolbar.assertTitle(StringHelper.ABOUT_HOME_TITLE);
mAboutHome.assertVisible()
.assertCurrentPage(PageType.TOP_SITES);
.assertCurrentPage(PanelType.TOP_SITES);
// TODO: Type in a url and assert the go button is visible.
}

Просмотреть файл

@ -2,13 +2,13 @@ package org.mozilla.gecko.tests;
import org.mozilla.gecko.*;
public class testBookmarksPage extends AboutHomeTest {
public class testBookmarksPanel extends AboutHomeTest {
protected int getTestType() {
return TEST_MOCHITEST;
}
public void testBookmarksPage() {
public void testBookmarksPanel() {
final String BOOKMARK_URL = getAbsoluteUrl(StringHelper.ROBOCOP_BLANK_PAGE_01_URL);
// Add a mobile bookmark