X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/066cd5aab34344264d2269e6a03785d20226b7e9..bcc972d63d3ed1d76b51a8a03a27e809983dc756:/src/com/owncloud/android/ui/activity/Preferences.java diff --git a/src/com/owncloud/android/ui/activity/Preferences.java b/src/com/owncloud/android/ui/activity/Preferences.java index 63ee14df..05a631d0 100644 --- a/src/com/owncloud/android/ui/activity/Preferences.java +++ b/src/com/owncloud/android/ui/activity/Preferences.java @@ -17,8 +17,6 @@ */ package com.owncloud.android.ui.activity; -import java.util.Vector; - import android.content.Intent; import android.content.SharedPreferences; import android.content.pm.PackageInfo; @@ -26,41 +24,36 @@ import android.content.pm.PackageManager.NameNotFoundException; import android.net.Uri; import android.os.Bundle; import android.preference.CheckBoxPreference; -import android.preference.ListPreference; import android.preference.Preference; import android.preference.Preference.OnPreferenceChangeListener; import android.preference.Preference.OnPreferenceClickListener; +import android.preference.PreferenceCategory; import android.preference.PreferenceManager; import com.actionbarsherlock.app.ActionBar; import com.actionbarsherlock.app.SherlockPreferenceActivity; import com.actionbarsherlock.view.Menu; import com.actionbarsherlock.view.MenuItem; -import com.owncloud.android.Log_OC; -import com.owncloud.android.OwnCloudSession; import com.owncloud.android.R; import com.owncloud.android.db.DbHandler; +import com.owncloud.android.utils.DisplayUtils; +import com.owncloud.android.utils.Log_OC; + /** * An Activity that allows the user to change the application's settings. * * @author Bartek Przybylski - * + * @author David A. Velasco */ -public class Preferences extends SherlockPreferenceActivity implements OnPreferenceChangeListener { +public class Preferences extends SherlockPreferenceActivity { private static final String TAG = "OwnCloudPreferences"; - private final int mNewSession = 47; - private final int mEditSession = 48; private DbHandler mDbHandler; - private Vector mSessions; - private ListPreference mTrackingUpdateInterval; - private CheckBoxPreference mDeviceTracking; private CheckBoxPreference pCode; //private CheckBoxPreference pLogging; //private Preference pLoggingHistory; private Preference pAboutApp; - private int mSelectedMenuItem; @SuppressWarnings("deprecation") @@ -68,11 +61,12 @@ public class Preferences extends SherlockPreferenceActivity implements OnPrefere public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mDbHandler = new DbHandler(getBaseContext()); - mSessions = new Vector(); addPreferencesFromResource(R.xml.preferences); //populateAccountList(); ActionBar actionBar = getSherlock().getActionBar(); + actionBar.setIcon(DisplayUtils.getSeasonalIconId()); actionBar.setDisplayHomeAsUpEnabled(true); + Preference p = findPreference("manage_account"); if (p != null) p.setOnPreferenceClickListener(new OnPreferenceClickListener() { @@ -100,85 +94,114 @@ public class Preferences extends SherlockPreferenceActivity implements OnPrefere } + + + PreferenceCategory preferenceCategory = (PreferenceCategory) findPreference("more"); + + boolean helpEnabled = getResources().getBoolean(R.bool.help_enabled); Preference pHelp = findPreference("help"); if (pHelp != null ){ - pHelp.setOnPreferenceClickListener(new OnPreferenceClickListener() { - @Override - public boolean onPreferenceClick(Preference preference) { - String helpWeb =(String) getText(R.string.url_help); - if (helpWeb != null && helpWeb.length() > 0) { - Uri uriUrl = Uri.parse(helpWeb); - Intent intent = new Intent(Intent.ACTION_VIEW, uriUrl); - startActivity(intent); + if (helpEnabled) { + pHelp.setOnPreferenceClickListener(new OnPreferenceClickListener() { + @Override + public boolean onPreferenceClick(Preference preference) { + String helpWeb =(String) getText(R.string.url_help); + if (helpWeb != null && helpWeb.length() > 0) { + Uri uriUrl = Uri.parse(helpWeb); + Intent intent = new Intent(Intent.ACTION_VIEW, uriUrl); + startActivity(intent); + } + return true; } - return true; - } - }); + }); + } else { + preferenceCategory.removePreference(pHelp); + } + } + + boolean recommendEnabled = getResources().getBoolean(R.bool.recommend_enabled); Preference pRecommend = findPreference("recommend"); if (pRecommend != null){ - pRecommend.setOnPreferenceClickListener(new OnPreferenceClickListener() { - @Override - public boolean onPreferenceClick(Preference preference) { - - Intent intent = new Intent(Intent.ACTION_SENDTO); - intent.setType("text/plain"); - //Account currentAccount = AccountUtils.getCurrentOwnCloudAccount(Preferences.this); - String appName = getString(R.string.app_name); - //String username = currentAccount.name.substring(0, currentAccount.name.lastIndexOf('@')); - //String recommendSubject = String.format(getString(R.string.recommend_subject), username, appName); - String recommendSubject = String.format(getString(R.string.recommend_subject), appName); - intent.putExtra(Intent.EXTRA_SUBJECT, recommendSubject); - //String recommendText = String.format(getString(R.string.recommend_text), getString(R.string.app_name), username); - String recommendText = String.format(getString(R.string.recommend_text), getString(R.string.app_name), getString(R.string.url_app_download)); - intent.putExtra(Intent.EXTRA_TEXT, recommendText); - - intent.setData(Uri.parse(getString(R.string.mail_recommend))); - intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - startActivity(intent); - - - return(true); - - } - }); + if (recommendEnabled) { + pRecommend.setOnPreferenceClickListener(new OnPreferenceClickListener() { + @Override + public boolean onPreferenceClick(Preference preference) { + + Intent intent = new Intent(Intent.ACTION_SENDTO); + intent.setType("text/plain"); + //Account currentAccount = AccountUtils.getCurrentOwnCloudAccount(Preferences.this); + String appName = getString(R.string.app_name); + //String username = currentAccount.name.substring(0, currentAccount.name.lastIndexOf('@')); + //String recommendSubject = String.format(getString(R.string.recommend_subject), username, appName); + String recommendSubject = String.format(getString(R.string.recommend_subject), appName); + intent.putExtra(Intent.EXTRA_SUBJECT, recommendSubject); + //String recommendText = String.format(getString(R.string.recommend_text), getString(R.string.app_name), username); + String recommendText = String.format(getString(R.string.recommend_text), getString(R.string.app_name), getString(R.string.url_app_download)); + intent.putExtra(Intent.EXTRA_TEXT, recommendText); + + intent.setData(Uri.parse(getString(R.string.mail_recommend))); + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + startActivity(intent); + + + return(true); + + } + }); + } else { + preferenceCategory.removePreference(pRecommend); + } + } + + boolean feedbackEnabled = getResources().getBoolean(R.bool.feedback_enabled); Preference pFeedback = findPreference("feedback"); if (pFeedback != null){ - pFeedback.setOnPreferenceClickListener(new OnPreferenceClickListener() { - @Override - public boolean onPreferenceClick(Preference preference) { - String feedbackMail =(String) getText(R.string.mail_feedback); - String feedback =(String) getText(R.string.prefs_feedback); - Intent intent = new Intent(Intent.ACTION_SENDTO); - intent.setType("text/plain"); - intent.putExtra(Intent.EXTRA_SUBJECT, feedback); - - intent.setData(Uri.parse(feedbackMail)); - intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - startActivity(intent); - - return true; - } - }); + if (feedbackEnabled) { + pFeedback.setOnPreferenceClickListener(new OnPreferenceClickListener() { + @Override + public boolean onPreferenceClick(Preference preference) { + String feedbackMail =(String) getText(R.string.mail_feedback); + String feedback =(String) getText(R.string.prefs_feedback); + Intent intent = new Intent(Intent.ACTION_SENDTO); + intent.setType("text/plain"); + intent.putExtra(Intent.EXTRA_SUBJECT, feedback); + + intent.setData(Uri.parse(feedbackMail)); + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + startActivity(intent); + + return true; + } + }); + } else { + preferenceCategory.removePreference(pFeedback); + } + } + boolean imprintEnabled = getResources().getBoolean(R.bool.imprint_enabled); Preference pImprint = findPreference("imprint"); if (pImprint != null) { - pImprint.setOnPreferenceClickListener(new OnPreferenceClickListener() { - @Override - public boolean onPreferenceClick(Preference preference) { - String imprintWeb = (String) getText(R.string.url_imprint); - if (imprintWeb != null && imprintWeb.length() > 0) { - Uri uriUrl = Uri.parse(imprintWeb); - Intent intent = new Intent(Intent.ACTION_VIEW, uriUrl); - startActivity(intent); + if (imprintEnabled) { + pImprint.setOnPreferenceClickListener(new OnPreferenceClickListener() { + @Override + public boolean onPreferenceClick(Preference preference) { + String imprintWeb = (String) getText(R.string.url_imprint); + if (imprintWeb != null && imprintWeb.length() > 0) { + Uri uriUrl = Uri.parse(imprintWeb); + Intent intent = new Intent(Intent.ACTION_VIEW, uriUrl); + startActivity(intent); + } + //ImprintDialog.newInstance(true).show(preference.get, "IMPRINT_DIALOG"); + return true; } - //ImprintDialog.newInstance(true).show(preference.get, "IMPRINT_DIALOG"); - return true; - } - }); + }); + } else { + preferenceCategory.removePreference(pImprint); + } } /* About App */ @@ -253,21 +276,6 @@ public class Preferences extends SherlockPreferenceActivity implements OnPrefere Intent intent; switch (item.getItemId()) { - //case R.id.addSessionItem: - case 1: - intent = new Intent(this, PreferencesNewSession.class); - startActivityForResult(intent, mNewSession); - break; - case R.id.SessionContextEdit: - intent = new Intent(this, PreferencesNewSession.class); - intent.putExtra("sessionId", mSessions.get(mSelectedMenuItem) - .getEntryId()); - intent.putExtra("sessionName", mSessions.get(mSelectedMenuItem) - .getName()); - intent.putExtra("sessionURL", mSessions.get(mSelectedMenuItem) - .getUrl()); - startActivityForResult(intent, mEditSession); - break; case android.R.id.home: intent = new Intent(getBaseContext(), FileDisplayActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); @@ -291,35 +299,4 @@ public class Preferences extends SherlockPreferenceActivity implements OnPrefere super.onDestroy(); } - @Override - /** - * Updates various summaries after updates. Also starts and stops - * the - */ - public boolean onPreferenceChange(Preference preference, Object newValue) { - // Update current account summary - /*if (preference.equals(mAccountList)) { - mAccountList.setSummary(newValue.toString()); - } - - // Update tracking interval summary - else*/ if (preference.equals(mTrackingUpdateInterval)) { - String trackingSummary = getResources().getString( - R.string.prefs_trackmydevice_interval_summary); - trackingSummary = String.format(trackingSummary, - newValue.toString()); - mTrackingUpdateInterval.setSummary(trackingSummary); - } - - // Start or stop tracking service - else if (preference.equals(mDeviceTracking)) { - Intent locationServiceIntent = new Intent(); - locationServiceIntent - .setAction("com.owncloud.android.location.LocationLauncher"); - locationServiceIntent.putExtra("TRACKING_SETTING", - (Boolean) newValue); - sendBroadcast(locationServiceIntent); - } - return true; - } }