diff options
Diffstat (limited to 'src/com/android/camera/IconIndicator.java')
-rw-r--r-- | src/com/android/camera/IconIndicator.java | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/src/com/android/camera/IconIndicator.java b/src/com/android/camera/IconIndicator.java deleted file mode 100644 index c032502..0000000 --- a/src/com/android/camera/IconIndicator.java +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright (C) 2009 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.camera; - -import android.content.Context; -import android.content.res.Resources; -import android.content.res.TypedArray; -import android.graphics.drawable.Drawable; -import android.util.AttributeSet; -import android.widget.ImageView; - -import com.android.camera.R; - -/** - * This class draws an icon which changes according to the mode. For example, - * The flash icon can have on, off, and auto modes. The user can use - * {@link #setMode(String)} to change the mode (and the icon). - */ -public class IconIndicator extends ImageView { - - private Drawable[] mIcons; - private CharSequence[] mModes; - - public IconIndicator(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - TypedArray a = context.obtainStyledAttributes( - attrs, R.styleable.IconIndicator, defStyle, 0); - Drawable icons[] = loadIcons(context.getResources(), - a.getResourceId(R.styleable.IconIndicator_icons, 0)); - CharSequence modes[] = - a.getTextArray(R.styleable.IconIndicator_modes); - a.recycle(); - - setModesAndIcons(modes, icons); - setImageDrawable(mIcons.length > 0 ? mIcons[0] : null); - } - - public IconIndicator(Context context, AttributeSet attrs) { - this(context, attrs, 0); - } - - private Drawable[] loadIcons(Resources resources, int iconsId) { - TypedArray array = resources.obtainTypedArray(iconsId); - int n = array.length(); - Drawable drawable[] = new Drawable[n]; - for (int i = 0; i < n; ++i) { - int id = array.getResourceId(i, 0); - drawable[i] = id == 0 ? null : resources.getDrawable(id); - } - array.recycle(); - return drawable; - } - - private void setModesAndIcons(CharSequence[] modes, Drawable icons[]) { - if (modes.length != icons.length || icons.length == 0) { - throw new IllegalArgumentException(); - } - mIcons = icons; - mModes = modes; - } - - public void setMode(String mode) { - for (int i = 0, n = mModes.length; i < n; ++i) { - if (mModes[i].equals(mode)) { - setImageDrawable(mIcons[i]); - return; - } - } - throw new IllegalArgumentException("unknown mode: " + mode); - } -} |