| /* |
| * Copyright (C) 2011 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| package com.example.android.newsreader; |
| |
| /** |
| * Source of strange and wonderful news. |
| * |
| * This singleton functions as the repository for the news we display. |
| */ |
| public class NewsSource { |
| // the instance |
| static NewsSource instance = null; |
| |
| // the category names |
| final String[] CATEGORIES = { "Top Stories", "US", "Politics", "Economy" }; |
| |
| // category objects, representing each category |
| NewsCategory[] mCategory; |
| |
| /** Returns the singleton instance of this class. */ |
| public static NewsSource getInstance() { |
| if (instance == null) { |
| instance = new NewsSource(); |
| } |
| return instance; |
| } |
| |
| public NewsSource() { |
| int i; |
| mCategory = new NewsCategory[CATEGORIES.length]; |
| for (i = 0; i < CATEGORIES.length; i++) { |
| mCategory[i] = new NewsCategory(); |
| } |
| } |
| |
| /** Returns the list of news categories. */ |
| public String[] getCategories() { |
| return CATEGORIES; |
| } |
| |
| /** Returns a category by index. */ |
| public NewsCategory getCategory(int categoryIndex) { |
| return mCategory[categoryIndex]; |
| } |
| } |