2012-02-04 20:41:28 +04:00
|
|
|
/* ownCloud Android client application
|
|
|
|
* Copyright (C) 2011 Bartek Przybylski
|
|
|
|
*
|
|
|
|
* This program is free software: you can redistribute it and/or modify
|
|
|
|
* it under the terms of the GNU General Public License as published by
|
|
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
|
|
* (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This program is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
* GNU General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU General Public License
|
|
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
package eu.alefzero.owncloud.ui.adapter;
|
|
|
|
|
|
|
|
import android.content.Context;
|
|
|
|
import android.content.Intent;
|
|
|
|
import android.view.LayoutInflater;
|
|
|
|
import android.view.View;
|
|
|
|
import android.view.ViewGroup;
|
|
|
|
import android.widget.BaseAdapter;
|
|
|
|
import android.widget.ImageView;
|
|
|
|
import android.widget.TextView;
|
2012-05-03 17:37:30 +04:00
|
|
|
import eu.alefzero.owncloud.AccountUtils;
|
2012-02-04 20:41:28 +04:00
|
|
|
import eu.alefzero.owncloud.R;
|
|
|
|
import eu.alefzero.owncloud.ui.activity.FileDisplayActivity;
|
|
|
|
import eu.alefzero.owncloud.ui.activity.Preferences;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Populates the landing screen icons.
|
2012-05-16 11:48:34 +04:00
|
|
|
*
|
2012-02-04 20:41:28 +04:00
|
|
|
* @author Lennart Rosam
|
2012-05-16 11:48:34 +04:00
|
|
|
*
|
2012-02-04 20:41:28 +04:00
|
|
|
*/
|
|
|
|
public class LandingScreenAdapter extends BaseAdapter {
|
|
|
|
|
2012-05-16 11:48:34 +04:00
|
|
|
private Context mContext;
|
|
|
|
|
|
|
|
private final Integer[] mLandingScreenIcons = { R.drawable.home,
|
|
|
|
R.drawable.music, R.drawable.contacts, R.drawable.calendar,
|
|
|
|
android.R.drawable.ic_menu_agenda, R.drawable.settings };
|
|
|
|
|
|
|
|
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 };
|
2012-02-04 20:41:28 +04:00
|
|
|
|
2012-05-16 11:48:34 +04:00
|
|
|
public LandingScreenAdapter(Context context) {
|
|
|
|
mContext = context;
|
|
|
|
}
|
2012-02-04 20:41:28 +04:00
|
|
|
|
2012-05-16 11:48:34 +04:00
|
|
|
@Override
|
|
|
|
public int getCount() {
|
|
|
|
return mLandingScreenIcons.length;
|
|
|
|
}
|
2012-02-04 20:41:28 +04:00
|
|
|
|
2012-05-16 11:48:34 +04:00
|
|
|
@Override
|
|
|
|
/**
|
|
|
|
* 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();
|
2012-02-04 20:41:28 +04:00
|
|
|
|
2012-05-16 11:48:34 +04:00
|
|
|
switch (position) {
|
|
|
|
case 0:
|
|
|
|
/*
|
|
|
|
* The FileDisplayActivity requires the ownCloud account as an
|
|
|
|
* parcableExtra. We will put in the one that is selected in the
|
|
|
|
* preferences
|
|
|
|
*/
|
|
|
|
intent.setClass(mContext, FileDisplayActivity.class);
|
|
|
|
intent.putExtra("ACCOUNT",
|
|
|
|
AccountUtils.getCurrentOwnCloudAccount(mContext));
|
|
|
|
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
|
|
|
break;
|
|
|
|
case 5:
|
|
|
|
intent.setClass(mContext, Preferences.class);
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
intent = null;
|
|
|
|
}
|
|
|
|
return intent;
|
|
|
|
}
|
2012-02-04 20:41:28 +04:00
|
|
|
|
2012-05-16 11:48:34 +04:00
|
|
|
@Override
|
|
|
|
public long getItemId(int position) {
|
|
|
|
return position;
|
|
|
|
}
|
2012-02-04 20:41:28 +04:00
|
|
|
|
2012-05-16 11:48:34 +04:00
|
|
|
@Override
|
|
|
|
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);
|
2012-02-04 20:41:28 +04:00
|
|
|
|
2012-05-16 11:48:34 +04:00
|
|
|
ImageView icon = (ImageView) convertView
|
|
|
|
.findViewById(R.id.gridImage);
|
|
|
|
TextView iconText = (TextView) convertView
|
|
|
|
.findViewById(R.id.gridText);
|
2012-02-04 20:41:28 +04:00
|
|
|
|
2012-05-16 11:48:34 +04:00
|
|
|
icon.setImageResource(mLandingScreenIcons[position]);
|
|
|
|
iconText.setText(mLandingScreenTexts[position]);
|
|
|
|
}
|
|
|
|
return convertView;
|
|
|
|
}
|
2012-02-04 20:41:28 +04:00
|
|
|
}
|