X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/a941af2ec2b720161977b0bb388ce21cdca4ebd4..8ec6915a58779eb43f1446100cb6fa477c206529:/src/eu/alefzero/owncloud/ui/fragment/LandingPageFragment.java diff --git a/src/eu/alefzero/owncloud/ui/fragment/LandingPageFragment.java b/src/eu/alefzero/owncloud/ui/fragment/LandingPageFragment.java index dd7ca316..d431a4f2 100644 --- a/src/eu/alefzero/owncloud/ui/fragment/LandingPageFragment.java +++ b/src/eu/alefzero/owncloud/ui/fragment/LandingPageFragment.java @@ -17,6 +17,7 @@ */ package eu.alefzero.owncloud.ui.fragment; +import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.support.v4.app.Fragment; @@ -24,11 +25,15 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; -import android.widget.AdapterView.OnItemClickListener; +import android.widget.BaseAdapter; import android.widget.GridView; +import android.widget.ImageView; +import android.widget.TextView; import android.widget.Toast; +import android.widget.AdapterView.OnItemClickListener; import eu.alefzero.owncloud.R; -import eu.alefzero.owncloud.ui.adapter.LandingScreenAdapter; +import eu.alefzero.owncloud.ui.activity.FileDisplayActivity; +import eu.alefzero.owncloud.ui.activity.Preferences; /** * Used on the Landing page to display what Components of @@ -55,7 +60,6 @@ public class LandingPageFragment extends Fragment implements OnItemClickListener grid.setOnItemClickListener(this); } - @Override public void onItemClick(AdapterView parent, View view, int position, long id) { /* * Start an activity based on the selection @@ -64,10 +68,83 @@ public class LandingPageFragment extends Fragment implements OnItemClickListener Intent intent; intent = (Intent) parent.getAdapter().getItem(position); if(intent != null ){ - startActivity(intent); + startActivity(intent); } else { Toast toast = Toast.makeText(getActivity(), "Not yet implemented!", Toast.LENGTH_SHORT); toast.show(); + } + } + + /** + * Used to populate the landing page grid. + * Defined this one right in here as private class + * as it is unlikely that this Adapter can be useful + * anywhere else. + * + * @author Lennart Rosam + * + */ + private class LandingScreenAdapter extends BaseAdapter { + + private Context mContext; + + private final Integer[] mLandingScreenIcons = { R.drawable.home, + R.drawable.music, R.drawable.contacts, + android.R.drawable.ic_menu_today, + android.R.drawable.ic_menu_agenda, + android.R.drawable.ic_menu_preferences }; + + private final Integer[] mLandingScreenTexts = { R.string.main_files, + R.string.main_music, R.string.main_contacts, + R.string.main_calendar, R.string.main_bookmarks, + R.string.main_settings }; + + public LandingScreenAdapter(Context context) { + mContext = context; + } + + public int getCount() { + return mLandingScreenIcons.length; + } + + /** + * Returns the Intent associated with this object + * or null if the functionality is not yet implemented + */ + public Object getItem(int position) { + Intent intent = new Intent(); + switch (position) { + case 0: + intent.setClass(mContext, FileDisplayActivity.class); + break; + case 5: + intent.setClass(mContext, Preferences.class); + break; + default: + intent = null; + } + return intent; + } + + public long getItemId(int position) { + return position; + } + + public View getView(int position, View convertView, ViewGroup parent) { + if (convertView == null) { + LayoutInflater inflator = LayoutInflater.from(mContext); + convertView = inflator + .inflate(R.layout.landing_page_item, null); + + ImageView icon = (ImageView) convertView + .findViewById(R.id.gridImage); + TextView iconText = (TextView) convertView + .findViewById(R.id.gridText); + + icon.setImageResource(mLandingScreenIcons[position]); + iconText.setText(mLandingScreenTexts[position]); + } + return convertView; } }