moving from eu.alefzero.eu to com.owncloud.android
[pub/Android/ownCloud.git] / src / com / owncloud / android / ui / adapter / LandingScreenAdapter.java
diff --git a/src/com/owncloud/android/ui/adapter/LandingScreenAdapter.java b/src/com/owncloud/android/ui/adapter/LandingScreenAdapter.java
new file mode 100644 (file)
index 0000000..8bc5675
--- /dev/null
@@ -0,0 +1,112 @@
+/* ownCloud Android client application\r
+ *   Copyright (C) 2011  Bartek Przybylski\r
+ *\r
+ *   This program is free software: you can redistribute it and/or modify\r
+ *   it under the terms of the GNU General Public License as published by\r
+ *   the Free Software Foundation, either version 3 of the License, or\r
+ *   (at your option) any later version.\r
+ *\r
+ *   This program is distributed in the hope that it will be useful,\r
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+ *   GNU General Public License for more details.\r
+ *\r
+ *   You should have received a copy of the GNU General Public License\r
+ *   along with this program.  If not, see <http://www.gnu.org/licenses/>.\r
+ *\r
+ */\r
+package com.owncloud.android.ui.adapter;\r
+\r
+import com.owncloud.android.AccountUtils;\r
+import com.owncloud.android.ui.activity.FileDisplayActivity;\r
+import com.owncloud.android.ui.activity.Preferences;\r
+\r
+import android.content.Context;\r
+import android.content.Intent;\r
+import android.view.LayoutInflater;\r
+import android.view.View;\r
+import android.view.ViewGroup;\r
+import android.widget.BaseAdapter;\r
+import android.widget.ImageView;\r
+import android.widget.TextView;\r
+import com.owncloud.android.R;\r
+\r
+/**\r
+ * Populates the landing screen icons.\r
+ * \r
+ * @author Lennart Rosam\r
+ * \r
+ */\r
+public class LandingScreenAdapter extends BaseAdapter {\r
+\r
+    private Context mContext;\r
+\r
+    private final Integer[] mLandingScreenIcons = { R.drawable.home,\r
+            R.drawable.music, R.drawable.contacts, R.drawable.calendar,\r
+            android.R.drawable.ic_menu_agenda, R.drawable.settings };\r
+\r
+    private final Integer[] mLandingScreenTexts = { R.string.main_files,\r
+            R.string.main_music, R.string.main_contacts,\r
+            R.string.main_calendar, R.string.main_bookmarks,\r
+            R.string.main_settings };\r
+\r
+    public LandingScreenAdapter(Context context) {\r
+        mContext = context;\r
+    }\r
+\r
+    @Override\r
+    public int getCount() {\r
+        return mLandingScreenIcons.length;\r
+    }\r
+\r
+    @Override\r
+    /**\r
+     * Returns the Intent associated with this object\r
+     * or null if the functionality is not yet implemented\r
+     */\r
+    public Object getItem(int position) {\r
+        Intent intent = new Intent();\r
+\r
+        switch (position) {\r
+        case 0:\r
+            /*\r
+             * The FileDisplayActivity requires the ownCloud account as an\r
+             * parcableExtra. We will put in the one that is selected in the\r
+             * preferences\r
+             */\r
+            intent.setClass(mContext, FileDisplayActivity.class);\r
+            intent.putExtra("ACCOUNT",\r
+                    AccountUtils.getCurrentOwnCloudAccount(mContext));\r
+            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);\r
+            break;\r
+        case 5:\r
+            intent.setClass(mContext, Preferences.class);\r
+            break;\r
+        default:\r
+            intent = null;\r
+        }\r
+        return intent;\r
+    }\r
+\r
+    @Override\r
+    public long getItemId(int position) {\r
+        return position;\r
+    }\r
+\r
+    @Override\r
+    public View getView(int position, View convertView, ViewGroup parent) {\r
+        if (convertView == null) {\r
+            LayoutInflater inflator = LayoutInflater.from(mContext);\r
+            convertView = inflator.inflate(R.layout.landing_page_item, null);\r
+\r
+            ImageView icon = (ImageView) convertView\r
+                    .findViewById(R.id.gridImage);\r
+            TextView iconText = (TextView) convertView\r
+                    .findViewById(R.id.gridText);\r
+\r
+            icon.setImageResource(mLandingScreenIcons[position]);\r
+            iconText.setText(mLandingScreenTexts[position]);\r
+        }\r
+        return convertView;\r
+    }\r
+}\r