| 1 | package org.openintents.filemanager;\r |
| 2 | \r |
| 3 | /* \r |
| 4 | * Copyright 2007 Steven Osborn \r |
| 5 | * \r |
| 6 | * Licensed under the Apache License, Version 2.0 (the "License"); \r |
| 7 | * you may not use this file except in compliance with the License. \r |
| 8 | * You may obtain a copy of the License at \r |
| 9 | * \r |
| 10 | * http://www.apache.org/licenses/LICENSE-2.0 \r |
| 11 | * \r |
| 12 | * Unless required by applicable law or agreed to in writing, software \r |
| 13 | * distributed under the License is distributed on an "AS IS" BASIS, \r |
| 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. \r |
| 15 | * See the License for the specific language governing permissions and \r |
| 16 | * limitations under the License. \r |
| 17 | */ \r |
| 18 | \r |
| 19 | import android.graphics.Bitmap;\r |
| 20 | import android.graphics.drawable.BitmapDrawable;\r |
| 21 | import android.graphics.drawable.Drawable; \r |
| 22 | import android.os.Parcel;\r |
| 23 | import android.os.Parcelable;\r |
| 24 | \r |
| 25 | /** @author Steven Osborn - http://steven.bitsetters.com \r |
| 26 | * @author George Venios - implemented Parcelable */ \r |
| 27 | public class IconifiedText implements Comparable<IconifiedText>, Parcelable{ \r |
| 28 | \r |
| 29 | private String mText = ""; \r |
| 30 | private String mInfo = "";\r |
| 31 | private Drawable mIcon; \r |
| 32 | private boolean mSelectable = true; \r |
| 33 | private boolean mSelected; \r |
| 34 | private boolean mCheckBoxVisible;\r |
| 35 | \r |
| 36 | public static final Parcelable.Creator CREATOR = new Parcelable.Creator() {\r |
| 37 | public IconifiedText createFromParcel(Parcel in) {\r |
| 38 | return new IconifiedText(in);\r |
| 39 | }\r |
| 40 | \r |
| 41 | public IconifiedText[] newArray(int size) {\r |
| 42 | return new IconifiedText[size];\r |
| 43 | }\r |
| 44 | };\r |
| 45 | \r |
| 46 | public IconifiedText(String text, String info, Drawable bullet) { \r |
| 47 | mIcon = bullet; \r |
| 48 | mText = text; \r |
| 49 | mInfo = info;\r |
| 50 | } \r |
| 51 | \r |
| 52 | public IconifiedText(Parcel in){\r |
| 53 | mText = in.readString();\r |
| 54 | mInfo = in.readString();\r |
| 55 | mSelectable = in.readInt()==1?true:false;\r |
| 56 | mSelected = in.readInt()==1?true:false;\r |
| 57 | mCheckBoxVisible = in.readInt()==1?true:false;\r |
| 58 | }\r |
| 59 | \r |
| 60 | public boolean isSelected() {\r |
| 61 | return mSelected;\r |
| 62 | }\r |
| 63 | \r |
| 64 | public void setSelected(boolean selected) {\r |
| 65 | this.mSelected = selected;\r |
| 66 | }\r |
| 67 | \r |
| 68 | public boolean isSelectable() { \r |
| 69 | return mSelectable; \r |
| 70 | } \r |
| 71 | \r |
| 72 | public void setSelectable(boolean selectable) { \r |
| 73 | mSelectable = selectable; \r |
| 74 | } \r |
| 75 | \r |
| 76 | public String getText() { \r |
| 77 | return mText; \r |
| 78 | } \r |
| 79 | \r |
| 80 | public void setText(String text) { \r |
| 81 | mText = text; \r |
| 82 | } \r |
| 83 | \r |
| 84 | public String getInfo() { \r |
| 85 | return mInfo; \r |
| 86 | } \r |
| 87 | \r |
| 88 | public void setInfo(String info) { \r |
| 89 | mInfo = info; \r |
| 90 | } \r |
| 91 | \r |
| 92 | public void setIcon(Drawable icon) { \r |
| 93 | mIcon = icon; \r |
| 94 | } \r |
| 95 | \r |
| 96 | public void setIcon(Bitmap bitmap) {\r |
| 97 | mIcon = (new BitmapDrawable(bitmap));\r |
| 98 | }\r |
| 99 | \r |
| 100 | public Drawable getIcon() { \r |
| 101 | return mIcon; \r |
| 102 | } \r |
| 103 | \r |
| 104 | // Used by the adapter\r |
| 105 | public Object getIconBitmap() {\r |
| 106 | if(mIcon instanceof BitmapDrawable){\r |
| 107 | return ((BitmapDrawable) mIcon).getBitmap();\r |
| 108 | }\r |
| 109 | \r |
| 110 | return mIcon;\r |
| 111 | }\r |
| 112 | \r |
| 113 | /** Make IconifiedText comparable by its name */ \r |
| 114 | \r |
| 115 | public int compareTo(IconifiedText other) { \r |
| 116 | if(this.mText != null) \r |
| 117 | return this.mText.compareTo(other.getText()); \r |
| 118 | else \r |
| 119 | throw new IllegalArgumentException(); \r |
| 120 | } \r |
| 121 | \r |
| 122 | public void setCheckIconVisible(boolean visible) {\r |
| 123 | mCheckBoxVisible = visible;\r |
| 124 | }\r |
| 125 | \r |
| 126 | public boolean isCheckIconVisible() {\r |
| 127 | return mCheckBoxVisible;\r |
| 128 | }\r |
| 129 | \r |
| 130 | @Override\r |
| 131 | public int describeContents() {\r |
| 132 | // Auto-generated method stub\r |
| 133 | return 0;\r |
| 134 | }\r |
| 135 | \r |
| 136 | @Override\r |
| 137 | public void writeToParcel(Parcel dest, int flags) {\r |
| 138 | dest.writeString(mText);\r |
| 139 | dest.writeString(mInfo);\r |
| 140 | dest.writeInt(mSelectable?1:0);\r |
| 141 | dest.writeInt(mSelected?1:0);\r |
| 142 | dest.writeInt(mCheckBoxVisible?1:0);\r |
| 143 | }\r |
| 144 | } \r |
| 145 | \r |