diff options
Diffstat (limited to 'src/com/android/browser/ImageAdapter.java')
-rw-r--r-- | src/com/android/browser/ImageAdapter.java | 265 |
1 files changed, 0 insertions, 265 deletions
diff --git a/src/com/android/browser/ImageAdapter.java b/src/com/android/browser/ImageAdapter.java deleted file mode 100644 index f95753a..0000000 --- a/src/com/android/browser/ImageAdapter.java +++ /dev/null @@ -1,265 +0,0 @@ -/* - * Copyright (C) 2008 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.android.browser; - -import android.app.AlertDialog; -import android.content.Context; -import android.content.DialogInterface; -import android.content.res.Configuration; -import android.content.res.Resources; -import android.database.DataSetObserver; -import android.graphics.Color; -import android.view.KeyEvent; -import android.view.View; -import android.view.ViewGroup; -import android.view.LayoutInflater; -import android.widget.ImageView; -import android.widget.ListAdapter; -import android.widget.TextView; - -import java.util.ArrayList; - -/** - * Adapter used by ImageGrid. - */ -public class ImageAdapter implements ListAdapter { - - ArrayList<TabControl.Tab> mItems; // Items shown in the grid - private ArrayList<DataSetObserver> mDataObservers; // Data change listeners - private Context mContext; // Context to use to inflate views - private boolean mMaxedOut; - private ImageGrid mImageGrid; - private boolean mIsLive; - private int mTabHeight; - - ImageAdapter(Context context, ImageGrid grid, boolean live) { - mContext = context; - mIsLive = live; - mItems = new ArrayList<TabControl.Tab>(); - mImageGrid = grid; - mDataObservers = new ArrayList<DataSetObserver>(); - } - - void heightChanged(int newHeight) { - mTabHeight = newHeight; - } - - /** - * Whether the adapter is at its limit, determined by TabControl.MAX_TABS - * - * @return True if the number of Tabs represented in this Adapter is at its - * maximum. - */ - public boolean maxedOut() { - return mMaxedOut; - } - - /** - * Clear the internal WebViews and remove their picture listeners. - */ - public void clear() { - mItems.clear(); - notifyObservers(); - } - - /** - * Add a new window web page to the grid - * - * @param t The tab to display - */ - public void add(TabControl.Tab t) { - if (mMaxedOut) { - return; - } - mItems.add(t); - notifyObservers(); - if (mItems.size() == TabControl.MAX_TABS) { - mMaxedOut = true; - } - } - - /** - * Remove a window from the list. At this point, the window - * has already gone. It just needs to be removed from the screen - * - * @param index window to remove - */ - public void remove(int index) { - if (index >= 0 && index < mItems.size()) { - mItems.remove(index); - notifyObservers(); - mMaxedOut = false; - } - } - - /* (non-Javadoc) - * @see android.widget.ListAdapter#areAllItemsSelectable() - */ - public boolean areAllItemsEnabled() { - return true; - } - - /* (non-Javadoc) - * @see android.widget.ListAdapter#isSelectable(int) - */ - public boolean isEnabled(int position) { - if (position >= 0 && position <= mItems.size()) { - return true; - } - return false; - } - - /* (non-Javadoc) - * @see android.widget.Adapter#getCount() - */ - public int getCount() { - // Include the New Window button if we have not reached the tab limit - if (!mMaxedOut) { - return mItems.size()+1; - } - return mItems.size(); - } - - /* (non-Javadoc) - * @see android.widget.Adapter#getItem(int) - */ - public Object getItem(int position) { - if (!mMaxedOut) { - if (0 == position) { - return null; - } - return mItems.get(position); - } - return mItems.get(position); - } - - /* (non-Javadoc) - * @see android.widget.Adapter#getItemId(int) - */ - public long getItemId(int position) { - return position; - } - - /* (non-Javadoc) - * @see android.widget.Adapter#getView(int, android.view.View, - * android.view.ViewGroup) - */ - public View getView(int position, View convertView, ViewGroup parent) { - View v = null; - if (convertView != null) { - v = convertView; - } else { - LayoutInflater factory = LayoutInflater.from(mContext); - v = factory.inflate(R.layout.tabitem, null); - } - FakeWebView img = (FakeWebView) v.findViewById(R.id.icon); - ImageView close = (ImageView) v.findViewById(R.id.close); - TextView tv = (TextView) v.findViewById(R.id.label); - - // position needs to be in the range of Tab indices. - if (!mMaxedOut) { - position--; - } - - // Create the View for actual tabs - if (position != ImageGrid.NEW_TAB) { - TabControl.Tab t = mItems.get(position); - img.setTab(t); - tv.setText(t.getTitle()); - // Do not put the 'X' if the tab picker isn't "live" (meaning the - // user cannot click on a tab) - if (!mIsLive) { - close.setVisibility(View.GONE); - } else { - close.setVisibility(View.VISIBLE); - final int pos = position; - close.setOnClickListener(new View.OnClickListener() { - public void onClick(View v) { - ImageAdapter.this.confirmClose(pos); - } - }); - } - } else { - img.setBackgroundColor(Color.BLACK); - img.setImageResource(R.drawable.ic_new_window); - img.setScaleType(ImageView.ScaleType.CENTER); - img.setPadding(0, 0, 0, 34); - tv.setText(R.string.new_window); - close.setVisibility(View.GONE); - } - ViewGroup.LayoutParams lp = img.getLayoutParams(); - if (lp.height != mTabHeight) { - lp.height = mTabHeight; - img.requestLayout(); - } - return v; - } - - /* - * Pop a confirmation dialog to the user asking if they want to close this - * tab. - */ - private void confirmClose(final int position) { - final ImageGrid.Listener l = mImageGrid.getListener(); - if (l == null) { - return; - } - l.remove(position); - } - - /* (non-Javadoc) - * @see android.widget.Adapter#registerDataSetObserver(android.database.DataSetObserver) - */ - public void registerDataSetObserver(DataSetObserver observer) { - mDataObservers.add(observer); - } - - /* (non-Javadoc) - * @see android.widget.Adapter#hasStableIds() - */ - public boolean hasStableIds() { - return true; - } - - /* (non-Javadoc) - * @see android.widget.Adapter#unregisterDataSetObserver(android.database.DataSetObserver) - */ - public void unregisterDataSetObserver(DataSetObserver observer) { - mDataObservers.remove(observer); - } - - /** - * Notify all the observers that a change has happened. - */ - void notifyObservers() { - for (DataSetObserver observer : mDataObservers) { - observer.onChanged(); - } - } - - public int getItemViewType(int position) { - return 0; - } - - public int getViewTypeCount() { - return 1; - } - - public boolean isEmpty() { - return getCount() == 0; - } -} |