Merge branch 'fragments-ui' of ssh://git@gitorious.org/owncloud/android.git into...
[pub/Android/ownCloud.git] / src / eu / alefzero / owncloud / ui / activity / LandingActivity.java
index b8f1878..a12a31c 100644 (file)
  */\r
 package eu.alefzero.owncloud.ui.activity;\r
 \r
  */\r
 package eu.alefzero.owncloud.ui.activity;\r
 \r
+import com.actionbarsherlock.app.SherlockFragmentActivity;\r
+\r
 import android.accounts.Account;\r
 import android.accounts.AccountManager;\r
 import android.app.AlertDialog;\r
 import android.app.Dialog;\r
 import android.content.DialogInterface;\r
 import android.accounts.Account;\r
 import android.accounts.AccountManager;\r
 import android.app.AlertDialog;\r
 import android.app.Dialog;\r
 import android.content.DialogInterface;\r
-import android.content.Intent;\r
 import android.content.DialogInterface.OnClickListener;\r
 import android.content.DialogInterface.OnClickListener;\r
+import android.content.Intent;\r
 import android.os.Bundle;\r
 import android.os.Bundle;\r
-import android.support.v4.app.FragmentActivity;\r
+import android.view.View;\r
+import android.widget.AdapterView;\r
+import android.widget.AdapterView.OnItemClickListener;\r
+import android.widget.GridView;\r
+import android.widget.Toast;\r
 import eu.alefzero.owncloud.R;\r
 import eu.alefzero.owncloud.authenticator.AccountAuthenticator;\r
 import eu.alefzero.owncloud.R;\r
 import eu.alefzero.owncloud.authenticator.AccountAuthenticator;\r
+import eu.alefzero.owncloud.ui.adapter.LandingScreenAdapter;\r
 \r
 /**\r
  * This activity is used as a landing page when the user first opens this app.\r
  * @author Lennart Rosam\r
  * \r
  */\r
 \r
 /**\r
  * This activity is used as a landing page when the user first opens this app.\r
  * @author Lennart Rosam\r
  * \r
  */\r
-public class LandingActivity extends FragmentActivity implements OnClickListener {\r
+public class LandingActivity extends SherlockFragmentActivity implements OnClickListener, OnItemClickListener {\r
 \r
        public static final int DIALOG_SETUP_ACCOUNT = 1;\r
        \r
 \r
        public static final int DIALOG_SETUP_ACCOUNT = 1;\r
        \r
@@ -43,11 +50,36 @@ public class LandingActivity extends FragmentActivity implements OnClickListener
                super.onCreate(savedInstanceState);\r
                setContentView(R.layout.main);\r
                \r
                super.onCreate(savedInstanceState);\r
                setContentView(R.layout.main);\r
                \r
+               // Fill the grid view that is only available in portrait mode\r
+               GridView landingScreenItems = (GridView) findViewById(R.id.homeScreenGrid);\r
+               if(landingScreenItems != null){\r
+                       landingScreenItems.setAdapter(new LandingScreenAdapter(this));\r
+                       landingScreenItems.setOnItemClickListener(this);\r
+               }\r
+               \r
+               // Check, if there are ownCloud accounts\r
+               if(!accountsAreSetup()){\r
+                       showDialog(DIALOG_SETUP_ACCOUNT);\r
+               }\r
+\r
+       }\r
+       \r
+       @Override\r
+       protected void onRestart() {\r
+               super.onRestart();\r
                // Check, if there are ownCloud accounts\r
                if(!accountsAreSetup()){\r
                        showDialog(DIALOG_SETUP_ACCOUNT);\r
                }\r
                // Check, if there are ownCloud accounts\r
                if(!accountsAreSetup()){\r
                        showDialog(DIALOG_SETUP_ACCOUNT);\r
                }\r
+       }\r
 \r
 \r
+       @Override\r
+       protected void onRestoreInstanceState(Bundle savedInstanceState) {\r
+               super.onRestoreInstanceState(savedInstanceState);\r
+               // Check, if there are ownCloud accounts\r
+               if(!accountsAreSetup()){\r
+                       showDialog(DIALOG_SETUP_ACCOUNT);\r
+               }\r
        }\r
 \r
        @Override\r
        }\r
 \r
        @Override\r
@@ -70,7 +102,6 @@ public class LandingActivity extends FragmentActivity implements OnClickListener
                return dialog;\r
        }\r
 \r
                return dialog;\r
        }\r
 \r
-       @Override\r
        public void onClick(DialogInterface dialog, int which) {\r
                // In any case - we won't need it anymore\r
                dialog.dismiss();\r
        public void onClick(DialogInterface dialog, int which) {\r
                // In any case - we won't need it anymore\r
                dialog.dismiss();\r
@@ -87,6 +118,22 @@ public class LandingActivity extends FragmentActivity implements OnClickListener
                \r
        }\r
        \r
                \r
        }\r
        \r
+       @Override\r
+       /**\r
+        * Start an activity based on the selection\r
+        * the user made\r
+        */\r
+       public void onItemClick(AdapterView<?> parent, View view, int position, long id) {\r
+               Intent intent;\r
+               intent = (Intent) parent.getAdapter().getItem(position);\r
+               if(intent != null ){\r
+                       startActivity(intent);\r
+               } else {\r
+                       Toast toast = Toast.makeText(this, "Not yet implemented!", Toast.LENGTH_SHORT);\r
+                       toast.show();\r
+               } \r
+       }\r
+       \r
        /**\r
         * Checks, whether or not there are any ownCloud accounts \r
         * setup. \r
        /**\r
         * Checks, whether or not there are any ownCloud accounts \r
         * setup. \r
@@ -99,6 +146,6 @@ public class LandingActivity extends FragmentActivity implements OnClickListener
                                .getAccountsByType(AccountAuthenticator.ACCOUNT_TYPE); \r
                return accounts.length > 0;\r
        }\r
                                .getAccountsByType(AccountAuthenticator.ACCOUNT_TYPE); \r
                return accounts.length > 0;\r
        }\r
-       \r
 \r
 \r
+       \r
 }\r
 }\r