From 896f145cf6e6b647ef977dabfc28770e5434e82a Mon Sep 17 00:00:00 2001 From: Lennart Rosam Date: Wed, 1 Feb 2012 00:43:28 +0100 Subject: [PATCH] Improved first run experience and added additional icons --- res/drawable-hdpi/calendar.png | Bin 0 -> 4080 bytes res/drawable-hdpi/settings.png | Bin 0 -> 6680 bytes res/drawable-ldpi/calendar.png | Bin 0 -> 3461 bytes res/drawable-ldpi/settings.png | Bin 0 -> 4758 bytes res/drawable-mdpi/calendar.png | Bin 0 -> 3712 bytes res/drawable-mdpi/settings.png | Bin 0 -> 5382 bytes res/values/strings.xml | 4 +- src/eu/alefzero/owncloud/ui/LandingActivity.java | 68 +++++++++- .../owncloud/ui/adapter/LandingScreenAdapter.java | 87 +++++++++++++ .../owncloud/ui/fragment/LandingPageFragment.java | 145 ++------------------- 10 files changed, 170 insertions(+), 134 deletions(-) create mode 100644 res/drawable-hdpi/calendar.png create mode 100644 res/drawable-hdpi/settings.png create mode 100644 res/drawable-ldpi/calendar.png create mode 100644 res/drawable-ldpi/settings.png create mode 100644 res/drawable-mdpi/calendar.png create mode 100644 res/drawable-mdpi/settings.png create mode 100644 src/eu/alefzero/owncloud/ui/adapter/LandingScreenAdapter.java diff --git a/res/drawable-hdpi/calendar.png b/res/drawable-hdpi/calendar.png new file mode 100644 index 0000000000000000000000000000000000000000..7652fa581ecc9b03c5202ebbc5b03204dab443be GIT binary patch literal 4080 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 literal 0 HcmV?d00001 diff --git a/res/drawable-ldpi/calendar.png b/res/drawable-ldpi/calendar.png new file mode 100644 index 0000000000000000000000000000000000000000..a667b5b7d203522e1ae2df870803c5fb1d133368 GIT binary patch literal 3461 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 literal 0 HcmV?d00001 diff --git a/res/drawable-ldpi/settings.png b/res/drawable-ldpi/settings.png new file mode 100644 index 0000000000000000000000000000000000000000..59f4a8b5b2d111783ab3f62f82901006c30179d5 GIT binary patch literal 4758 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 literal 0 HcmV?d00001 diff --git a/res/drawable-mdpi/calendar.png b/res/drawable-mdpi/calendar.png new file mode 100644 index 0000000000000000000000000000000000000000..efac984dc5c68c49008290d9ea8f2443d193a4c2 GIT binary patch literal 3712 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 Bookmarks Settings + Account Setup + There are no ownCloud accounts on your device. In order to use this App, you need to create one. General Stored sessions Add new session @@ -32,7 +34,7 @@ Connect Upload No account found - No correct ownCloud account found on device. Please setup account first. + There are no ownCloud accounts on your device. Please setup an account first. Setup Quit Uploading diff --git a/src/eu/alefzero/owncloud/ui/LandingActivity.java b/src/eu/alefzero/owncloud/ui/LandingActivity.java index acad25f1..a9372128 100644 --- a/src/eu/alefzero/owncloud/ui/LandingActivity.java +++ b/src/eu/alefzero/owncloud/ui/LandingActivity.java @@ -17,22 +17,88 @@ */ package eu.alefzero.owncloud.ui; +import android.accounts.Account; +import android.accounts.AccountManager; +import android.app.AlertDialog; +import android.app.Dialog; +import android.content.DialogInterface; +import android.content.Intent; +import android.content.DialogInterface.OnClickListener; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import eu.alefzero.owncloud.R; +import eu.alefzero.owncloud.authenticator.AccountAuthenticator; /** * This activity is used as a landing page when the user first opens this app. * * @author Lennart Rosam */ -public class LandingActivity extends FragmentActivity { +public class LandingActivity extends FragmentActivity implements OnClickListener { + public static final int DIALOG_SETUP_ACCOUNT = 1; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.landing_page); + + // Check, if there are ownCloud accounts + if(!accountsAreSetup()){ + showDialog(DIALOG_SETUP_ACCOUNT); + } } + @Override + protected Dialog onCreateDialog(int id) { + Dialog dialog; + switch(id){ + case DIALOG_SETUP_ACCOUNT: + AlertDialog.Builder builder = new AlertDialog.Builder(this); + builder.setTitle(R.string.main_tit_accsetup); + builder.setMessage(R.string.main_wrn_accsetup); + builder.setCancelable(false); + builder.setPositiveButton(R.string.common_ok, this); + builder.setNegativeButton(R.string.common_cancel, this); + dialog = builder.create(); + break; + default: + dialog = null; + } + + return dialog; + } + + @Override + public void onClick(DialogInterface dialog, int which) { + // In any case - we won't need it anymore + dialog.dismiss(); + switch(which){ + case DialogInterface.BUTTON_POSITIVE: + Intent intent = new Intent("android.settings.ADD_ACCOUNT_SETTINGS"); + intent.putExtra("authorities", + new String[] { AccountAuthenticator.AUTH_TOKEN_TYPE }); + startActivity(intent); + break; + case DialogInterface.BUTTON_NEGATIVE: + finish(); + } + + } + + /** + * Checks, whether or not there are any ownCloud accounts + * setup. + * + * @return true, if there is at least one account. + */ + private boolean accountsAreSetup() { + AccountManager accMan = AccountManager.get(this); + Account[] accounts = accMan + .getAccountsByType(AccountAuthenticator.ACCOUNT_TYPE); + return accounts.length > 0; + } + + } diff --git a/src/eu/alefzero/owncloud/ui/adapter/LandingScreenAdapter.java b/src/eu/alefzero/owncloud/ui/adapter/LandingScreenAdapter.java new file mode 100644 index 00000000..d14ac0fa --- /dev/null +++ b/src/eu/alefzero/owncloud/ui/adapter/LandingScreenAdapter.java @@ -0,0 +1,87 @@ +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; +import eu.alefzero.owncloud.R; +import eu.alefzero.owncloud.ui.FileDisplayActivity; +import eu.alefzero.owncloud.ui.Preferences; + +/** + * Populates the landing screen icons. + * @author Benutzer + * + */ +public class LandingScreenAdapter extends BaseAdapter { + + 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 }; + + public LandingScreenAdapter(Context context) { + mContext = context; + } + + @Override + public int getCount() { + return mLandingScreenIcons.length; + } + + @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(); + switch (position) { + case 0: + intent.setClass(mContext, FileDisplayActivity.class); + break; + case 5: + intent.setClass(mContext, Preferences.class); + break; + default: + intent = null; + } + return intent; + } + + @Override + public long getItemId(int position) { + return position; + } + + @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); + + 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; + } + +} diff --git a/src/eu/alefzero/owncloud/ui/fragment/LandingPageFragment.java b/src/eu/alefzero/owncloud/ui/fragment/LandingPageFragment.java index 5d2d92e2..69651146 100644 --- a/src/eu/alefzero/owncloud/ui/fragment/LandingPageFragment.java +++ b/src/eu/alefzero/owncloud/ui/fragment/LandingPageFragment.java @@ -1,26 +1,17 @@ package eu.alefzero.owncloud.ui.fragment; -import android.accounts.Account; -import android.accounts.AccountManager; -import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.support.v4.app.Fragment; -import android.util.Log; 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 eu.alefzero.owncloud.R; -import eu.alefzero.owncloud.authenticator.AccountAuthenticator; -import eu.alefzero.owncloud.ui.FileDisplayActivity; -import eu.alefzero.owncloud.ui.Preferences; +import eu.alefzero.owncloud.ui.adapter.LandingScreenAdapter; public class LandingPageFragment extends Fragment implements OnItemClickListener { @@ -42,130 +33,20 @@ public class LandingPageFragment extends Fragment implements OnItemClickListener @Override public void onItemClick(AdapterView parent, View view, int position, long id) { - Intent intent; - - /** - * If the user selects something and acounts are setup, - * we can use our LandingScreenAdapter to get the matching - * intent for the selected item. - * - * Otherwise, the accounsAreSetuo() method will trigger the - * creation of one. + /* + * Start an activity based on the selection + * the user made */ - if(accountsAreSetup()){ - intent = (Intent) parent.getAdapter().getItem(position); - if(intent != null ){ - startActivity(intent); - } else { - Toast toast = Toast.makeText(getActivity(), "Not yet implemented!", Toast.LENGTH_SHORT); - toast.show(); - } - - } - } - - /** - * Checks, whether or not there are any ownCloud accounts - * setup. If there is none, it will create one. - * - * If there are more then one, it will trigger a selection - * unless the selection has not been made yet. - * - * @return true, if there is at least one account. - */ - private boolean accountsAreSetup() { - AccountManager accMan = AccountManager.get(getActivity()); - Account[] accounts = accMan - .getAccountsByType(AccountAuthenticator.ACCOUNT_TYPE); - - if (accounts.length == 0) { - Intent intent = new Intent("android.settings.ADD_ACCOUNT_SETTINGS"); - intent.putExtra("authorities", - new String[] { AccountAuthenticator.AUTH_TOKEN_TYPE }); + Intent intent; + intent = (Intent) parent.getAdapter().getItem(position); + if(intent != null ){ startActivity(intent); - return false; - } else if (accounts.length > 1) { - // TODO: Figure out what to do. - } - - return true; - } - - /** - * 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; - } - - @Override - public int getCount() { - return mLandingScreenIcons.length; + } else { + Toast toast = Toast.makeText(getActivity(), "Not yet implemented!", Toast.LENGTH_SHORT); + toast.show(); } - - @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(); - switch (position) { - case 0: - intent.setClass(mContext, FileDisplayActivity.class); - break; - case 5: - intent.setClass(mContext, Preferences.class); - break; - default: - intent = null; - } - return intent; - } - - @Override - public long getItemId(int position) { - return position; - } - - @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); - - 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; - } - } + + + } -- 2.11.0