add OI File Manager and AndroidSupportV2 used by it
[android_pandora.git] / apps / oi-filemanager / FileManager / src / org / openintents / filemanager / IconifiedText.java
diff --git a/apps/oi-filemanager/FileManager/src/org/openintents/filemanager/IconifiedText.java b/apps/oi-filemanager/FileManager/src/org/openintents/filemanager/IconifiedText.java
new file mode 100644 (file)
index 0000000..a42e14e
--- /dev/null
@@ -0,0 +1,145 @@
+package org.openintents.filemanager;\r
+\r
+/* \r
+ * Copyright 2007 Steven Osborn \r
+ * \r
+ * Licensed under the Apache License, Version 2.0 (the "License"); \r
+ * you may not use this file except in compliance with the License. \r
+ * You may obtain a copy of the License at \r
+ * \r
+ *      http://www.apache.org/licenses/LICENSE-2.0 \r
+ * \r
+ * Unless required by applicable law or agreed to in writing, software \r
+ * distributed under the License is distributed on an "AS IS" BASIS, \r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. \r
+ * See the License for the specific language governing permissions and \r
+ * limitations under the License. \r
+ */ \r
+\r
+import android.graphics.Bitmap;\r
+import android.graphics.drawable.BitmapDrawable;\r
+import android.graphics.drawable.Drawable; \r
+import android.os.Parcel;\r
+import android.os.Parcelable;\r
+\r
+/** @author Steven Osborn - http://steven.bitsetters.com \r
+ *  @author George Venios - implemented Parcelable */ \r
+public class IconifiedText implements Comparable<IconifiedText>, Parcelable{ \r
+    \r
+     private String mText = ""; \r
+     private String mInfo = "";\r
+     private Drawable mIcon; \r
+     private boolean mSelectable = true; \r
+     private boolean mSelected; \r
+     private boolean mCheckBoxVisible;\r
+\r
+     public static final Parcelable.Creator CREATOR = new Parcelable.Creator() {\r
+         public IconifiedText createFromParcel(Parcel in) {\r
+             return new IconifiedText(in);\r
+         }\r
+  \r
+         public IconifiedText[] newArray(int size) {\r
+             return new IconifiedText[size];\r
+         }\r
+     };\r
+     \r
+     public IconifiedText(String text, String info, Drawable bullet) { \r
+          mIcon = bullet; \r
+          mText = text; \r
+          mInfo = info;\r
+     }      \r
+     \r
+     public IconifiedText(Parcel in){\r
+        mText = in.readString();\r
+        mInfo = in.readString();\r
+        mSelectable = in.readInt()==1?true:false;\r
+        mSelected = in.readInt()==1?true:false;\r
+        mCheckBoxVisible = in.readInt()==1?true:false;\r
+     }\r
+      \r
+     public boolean isSelected() {\r
+       return mSelected;\r
+     }\r
+\r
+       public void setSelected(boolean selected) {\r
+       this.mSelected = selected;\r
+     }\r
+\r
+       public boolean isSelectable() { \r
+          return mSelectable; \r
+     } \r
+      \r
+     public void setSelectable(boolean selectable) { \r
+          mSelectable = selectable; \r
+     } \r
+      \r
+     public String getText() { \r
+         return mText; \r
+    } \r
+     \r
+    public void setText(String text) { \r
+         mText = text; \r
+    } \r
+     \r
+    public String getInfo() { \r
+        return mInfo; \r
+   } \r
+    \r
+   public void setInfo(String info) { \r
+        mInfo = info; \r
+   } \r
+    \r
+     public void setIcon(Drawable icon) { \r
+          mIcon = icon; \r
+     } \r
+     \r
+     public void setIcon(Bitmap bitmap) {\r
+        mIcon = (new BitmapDrawable(bitmap));\r
+     }\r
+      \r
+     public Drawable getIcon() { \r
+          return mIcon; \r
+     } \r
+     \r
+     // Used by the adapter\r
+     public Object getIconBitmap() {\r
+               if(mIcon instanceof BitmapDrawable){\r
+                       return ((BitmapDrawable) mIcon).getBitmap();\r
+               }\r
+               \r
+               return mIcon;\r
+     }\r
+\r
+     /** Make IconifiedText comparable by its name */ \r
+     \r
+     public int compareTo(IconifiedText other) { \r
+          if(this.mText != null) \r
+               return this.mText.compareTo(other.getText()); \r
+          else \r
+               throw new IllegalArgumentException(); \r
+     } \r
+     \r
+     public void setCheckIconVisible(boolean visible) {\r
+        mCheckBoxVisible = visible;\r
+     }\r
+     \r
+     public boolean isCheckIconVisible() {\r
+        return mCheckBoxVisible;\r
+     }\r
+\r
+       @Override\r
+       public int describeContents() {\r
+               // Auto-generated method stub\r
+               return 0;\r
+       }\r
+\r
+       @Override\r
+       public void writeToParcel(Parcel dest, int flags) {\r
+               dest.writeString(mText);\r
+               dest.writeString(mInfo);\r
+               dest.writeInt(mSelectable?1:0);\r
+               dest.writeInt(mSelected?1:0);\r
+               dest.writeInt(mCheckBoxVisible?1:0);\r
+       }\r
+} \r
+\r