aboutsummaryrefslogtreecommitdiffstats
path: root/src/com/cyanogenmod/filemanager/adapters/BookmarksAdapter.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/cyanogenmod/filemanager/adapters/BookmarksAdapter.java')
-rw-r--r--src/com/cyanogenmod/filemanager/adapters/BookmarksAdapter.java230
1 files changed, 0 insertions, 230 deletions
diff --git a/src/com/cyanogenmod/filemanager/adapters/BookmarksAdapter.java b/src/com/cyanogenmod/filemanager/adapters/BookmarksAdapter.java
deleted file mode 100644
index bbb5e3c8..00000000
--- a/src/com/cyanogenmod/filemanager/adapters/BookmarksAdapter.java
+++ /dev/null
@@ -1,230 +0,0 @@
-/*
- * Copyright (C) 2012 The CyanogenMod 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.cyanogenmod.filemanager.adapters;
-
-import android.content.Context;
-import android.graphics.drawable.Drawable;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.View.OnClickListener;
-import android.view.ViewGroup;
-import android.widget.ArrayAdapter;
-import android.widget.ImageButton;
-import android.widget.ImageView;
-import android.widget.TextView;
-
-import com.cyanogenmod.filemanager.R;
-import com.cyanogenmod.filemanager.model.Bookmark;
-import com.cyanogenmod.filemanager.model.Bookmark.BOOKMARK_TYPE;
-import com.cyanogenmod.filemanager.ui.IconHolder;
-import com.cyanogenmod.filemanager.ui.ThemeManager;
-import com.cyanogenmod.filemanager.ui.ThemeManager.Theme;
-import com.cyanogenmod.filemanager.util.BookmarksHelper;
-
-import java.util.List;
-
-/**
- * An implementation of {@link ArrayAdapter} for display bookmarks.
- */
-public class BookmarksAdapter extends ArrayAdapter<Bookmark> {
-
- /**
- * A class that conforms with the ViewHolder pattern to performance
- * the list view rendering.
- */
- private static class ViewHolder {
- /**
- * @hide
- */
- public ViewHolder() {
- super();
- }
- ImageView mIvIcon;
- TextView mTvName;
- TextView mTvPath;
- ImageButton mBtAction;
- }
-
- /**
- * A class that holds the full data information.
- */
- private static class DataHolder {
- /**
- * @hide
- */
- public DataHolder() {
- super();
- }
- Drawable mDwIcon;
- String mName;
- String mPath;
- Drawable mDwAction;
- String mActionCd;
- }
-
-
-
- private DataHolder[] mData;
- private IconHolder mIconHolder;
- private final OnClickListener mOnActionClickListener;
-
- //The resource item layout
- private static final int RESOURCE_LAYOUT = R.layout.bookmarks_item;
-
- //The resource of the item icon
- private static final int RESOURCE_ITEM_ICON = R.id.bookmarks_item_icon;
- //The resource of the item name
- private static final int RESOURCE_ITEM_NAME = R.id.bookmarks_item_name;
- //The resource of the item directory
- private static final int RESOURCE_ITEM_PATH = R.id.bookmarks_item_path;
- //The resource of the item button action
- private static final int RESOURCE_ITEM_ACTION = R.id.bookmarks_item_action;
-
- /**
- * Constructor of <code>BookmarksAdapter</code>.
- *
- * @param context The current context
- * @param bookmarks The bookmarks
- * @param onActionClickListener The listener for listen action clicks
- */
- public BookmarksAdapter(
- Context context, List<Bookmark> bookmarks, OnClickListener onActionClickListener) {
- super(context, RESOURCE_ITEM_NAME, bookmarks);
- this.mIconHolder = new IconHolder(context, false);
- this.mOnActionClickListener = onActionClickListener;
-
- //Do cache of the data for better performance
- processData(bookmarks);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public void notifyDataSetChanged() {
- processData(null);
- super.notifyDataSetChanged();
- }
-
- /**
- * Method that dispose the elements of the adapter.
- */
- public void dispose() {
- clear();
- this.mData = null;
- if (mIconHolder != null) {
- mIconHolder.cleanup();
- mIconHolder = null;
- }
- }
-
- /**
- * Method that process the data before use {@link #getView} method.
- *
- * @param bookmarks The list of bookmarks (to better performance) or null.
- */
- private void processData(List<Bookmark> bookmarks) {
- this.mData = new DataHolder[getCount()];
- int cc = (bookmarks == null) ? getCount() : bookmarks.size();
- for (int i = 0; i < cc; i++) {
- //Bookmark info
- Bookmark bookmark = (bookmarks == null) ? getItem(i) : bookmarks.get(i);
-
- //Build the data holder
- this.mData[i] = new BookmarksAdapter.DataHolder();
- this.mData[i].mDwIcon =
- this.mIconHolder.getDrawable(BookmarksHelper.getIcon(bookmark));
- this.mData[i].mName = bookmark.mName;
- this.mData[i].mPath = bookmark.mPath;
- this.mData[i].mDwAction = null;
- this.mData[i].mActionCd = null;
- if (bookmark.mType.compareTo(BOOKMARK_TYPE.HOME) == 0) {
- this.mData[i].mDwAction =
- this.mIconHolder.getDrawable("ic_config_drawable"); //$NON-NLS-1$
- this.mData[i].mActionCd =
- getContext().getString(R.string.bookmarks_button_config_cd);
- } else if (bookmark.mType.compareTo(BOOKMARK_TYPE.USER_DEFINED) == 0) {
- this.mData[i].mDwAction =
- this.mIconHolder.getDrawable("ic_close_drawable"); //$NON-NLS-1$
- this.mData[i].mActionCd =
- getContext().getString(R.string.bookmarks_button_remove_bookmark_cd);
- }
- }
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public View getView(int position, View convertView, ViewGroup parent) {
-
- //Check to reuse view
- View v = convertView;
- if (v == null) {
- //Create the view holder
- LayoutInflater li =
- (LayoutInflater)getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
- v = li.inflate(RESOURCE_LAYOUT, parent, false);
- ViewHolder viewHolder = new BookmarksAdapter.ViewHolder();
- viewHolder.mIvIcon = (ImageView)v.findViewById(RESOURCE_ITEM_ICON);
- viewHolder.mTvName = (TextView)v.findViewById(RESOURCE_ITEM_NAME);
- viewHolder.mTvPath = (TextView)v.findViewById(RESOURCE_ITEM_PATH);
- viewHolder.mBtAction = (ImageButton)v.findViewById(RESOURCE_ITEM_ACTION);
- viewHolder.mBtAction.setTag(Integer.valueOf(position));
- v.setTag(viewHolder);
-
- // Apply the current theme
- Theme theme = ThemeManager.getCurrentTheme(getContext());
- theme.setBackgroundDrawable(
- getContext(), v, "selectors_deselected_drawable"); //$NON-NLS-1$
- theme.setTextColor(
- getContext(), viewHolder.mTvName, "text_color"); //$NON-NLS-1$
- theme.setTextColor(
- getContext(), viewHolder.mTvPath, "text_color"); //$NON-NLS-1$
- }
-
- //Retrieve data holder
- final DataHolder dataHolder = this.mData[position];
-
- //Retrieve the view holder
- ViewHolder viewHolder = (ViewHolder)v.getTag();
-
- //Set the data
- viewHolder.mIvIcon.setImageDrawable(dataHolder.mDwIcon);
- viewHolder.mTvName.setText(dataHolder.mName);
- viewHolder.mTvPath.setText(dataHolder.mPath);
- boolean hasAction = dataHolder.mDwAction != null;
- viewHolder.mBtAction.setImageDrawable(hasAction ? dataHolder.mDwAction : null);
- viewHolder.mBtAction.setVisibility(hasAction ? View.VISIBLE : View.GONE);
- viewHolder.mBtAction.setOnClickListener(this.mOnActionClickListener);
- viewHolder.mBtAction.setContentDescription(dataHolder.mActionCd);
-
- //Return the view
- return v;
- }
-
- /**
- * Method that should be invoked when the theme of the app was changed
- */
- public void notifyThemeChanged() {
- if (mIconHolder != null) {
- mIconHolder.cleanup();
- }
- // Empty icon holder
- this.mIconHolder = new IconHolder(getContext(), false);
- }
-}