merge
authorNikita Kozlov <nikita@beem-project.com>
Sat, 13 Feb 2010 21:48:19 +0100
changeset 666 2472c1c41100
parent 665 01f3b7160f4b (diff)
parent 664 06b8a7747e1b (current diff)
child 667 d54deda513ff
merge
res/values-fr/strings.xml
res/values/strings.xml
src/com/beem/project/beem/service/XmppConnectionAdapter.java
--- a/res/layout/contactlist.xml	Sat Feb 13 22:39:15 2010 +0100
+++ b/res/layout/contactlist.xml	Sat Feb 13 21:48:19 2010 +0100
@@ -2,19 +2,12 @@
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 	android:layout_width="fill_parent" android:layout_height="fill_parent"
 	android:orientation="vertical">
-	<Gallery xmlns:android="http://schemas.android.com/apk/res/android"
-		android:id="@+id/contactlist_banner" android:layout_width="fill_parent"
-		android:layout_height="42px" android:spacing="42px"
-		android:unselectedAlpha="0.4" android:background="#222222" />
-	<View android:layout_width="fill_parent" android:layout_height="2dp"
-		android:fadingEdge="horizontal" android:background="#555555" />
+	<ViewStub android:id="@+id/contactlist_stub" android:inflatedId="@+id/contactlist_groupstub" android:layout_width="fill_parent"
+		android:layout_height="wrap_content" android:layout="@layout/contactlist_groupstub"/>
 	<LinearLayout android:layout_width="fill_parent"
 		android:layout_height="fill_parent" android:orientation="horizontal"
 		android:padding="2px">
-		<ListView android:id="@+id/contactlist"
-		    android:layout_width="fill_parent" android:layout_height="fill_parent"
-		    android:transcriptMode="disabled" />
-		<!-- normal should be better -->
+		<ListView android:id="@+id/contactlist" android:layout_width="fill_parent"
+			android:layout_height="fill_parent" android:transcriptMode="disabled" />
 	</LinearLayout>
-
 </LinearLayout>
--- a/res/layout/preferences.xml	Sat Feb 13 22:39:15 2010 +0100
+++ b/res/layout/preferences.xml	Sat Feb 13 21:48:19 2010 +0100
@@ -7,29 +7,26 @@
 			<CheckBoxPreference android:title="@string/CLP_hidden_contact"
 				android:defaultValue="false" android:summary="@string/CLP_hidden_contact_sum"
 				android:key="settings_key_hidden_contact" />
+			<CheckBoxPreference android:title="@string/CLP_hide_groups"
+				android:defaultValue="false" android:summary="@string/CLP_hide_groups_sum"
+				android:key="settings_key_hide_groups" />
 		</PreferenceScreen>
 	</PreferenceCategory>
 	<PreferenceCategory android:title="@string/user_preferences">
 		<EditTextPreference android:singleLine="true"
 			android:summary="@string/SettingsText" android:title="@string/settings_account_username"
-			android:key="settings_key_account_username"
-			android:hint="@string/login_username_info_default" />
+			android:key="settings_key_account_username" android:hint="@string/login_username_info_default" />
 		<EditTextPreference android:name="password"
 			android:singleLine="true" android:password="true" android:summary="@string/SettingsPassword"
 			android:title="@string/settings_account_password" android:key="settings_key_account_password" />
 	</PreferenceCategory>
 	<PreferenceCategory android:title="@string/user_preferences_advanced">
-		<EditTextPreference
-		    android:key="settings_key_resource"
-		    android:title="@string/SettingsResourceTitle"
-		    android:summary="@string/SettingsResourceSummary"
-		    android:defaultValue="Beem" />
-		<EditTextPreference
-		    android:key="settings_key_priority"
-		    android:title="@string/SettingsPriorityTitle"
-		    android:summary="@string/SettingsPrioritySummary"
-		    android:numeric="signed"
-		    android:defaultValue="0" />
+		<EditTextPreference android:key="settings_key_resource"
+			android:title="@string/SettingsResourceTitle" android:summary="@string/SettingsResourceSummary"
+			android:defaultValue="Beem" />
+		<EditTextPreference android:key="settings_key_priority"
+			android:title="@string/SettingsPriorityTitle" android:summary="@string/SettingsPrioritySummary"
+			android:numeric="signed" android:defaultValue="0" />
 		<CheckBoxPreference android:title="@string/SettingsCheckboxText"
 			android:defaultValue="false" android:summary="@string/SettingsGmail"
 			android:key="settings_key_gmail" />
@@ -54,8 +51,7 @@
 				<EditTextPreference android:singleLine="true"
 					android:dependency="settings_key_proxy_use" android:name="port"
 					android:summary="@string/SettingsProxyPort" android:title="@string/settings_proxy_port"
-					android:key="settings_key_proxy_port"
-					android:hint="@string/comments_proxy_port" />
+					android:key="settings_key_proxy_port" android:hint="@string/comments_proxy_port" />
 			</PreferenceCategory>
 			<PreferenceCategory android:title="@string/proxy_user_settings">
 				<EditTextPreference android:singleLine="true"
@@ -84,13 +80,12 @@
 			<EditTextPreference android:singleLine="true"
 				android:dependency="settings_key_specific_server" android:name="adresse"
 				android:summary="@string/SettingsAdvancedAddOpt" android:title="@string/settings_xmpp_server"
-				android:key="settings_key_xmpp_server" 
-				android:hint="@string/comments_xmpp_server"/>
+				android:key="settings_key_xmpp_server" android:hint="@string/comments_xmpp_server" />
 			<EditTextPreference android:singleLine="true"
 				android:dependency="settings_key_specific_server" android:name="port"
 				android:summary="@string/SettingsAdvancedPortOpt" android:title="@string/settings_xmpp_port"
-				android:defaultValue="5222" android:key="settings_key_xmpp_port" 
-				android:hint="@string/comments_xmpp_port"/>
+				android:defaultValue="5222" android:key="settings_key_xmpp_port"
+				android:hint="@string/comments_xmpp_port" />
 		</PreferenceScreen>
 	</PreferenceCategory>
 </PreferenceScreen>
--- a/res/values-fr/strings.xml	Sat Feb 13 22:39:15 2010 +0100
+++ b/res/values-fr/strings.xml	Sat Feb 13 21:48:19 2010 +0100
@@ -203,8 +203,11 @@
 	<string name="contact_list_preferences">Liste d\'ami(e)s</string>
 	<string name="contact_list_preferences_sum">Une série d\'options d\'affichage de votre liste
 		d\'ami(e)s</string>
-	<string name="CLP_hidden_contact">Caché(e)s</string>
-	<string name="CLP_hidden_contact_sum">Cochez cette option pour cacher les ami(e)s déconnecté(e)s</string>
+	
+	<string name="CLP_hide_groups">Cachez les groupes</string>	
+	<string name="CLP_hide_groups_sum">Cochez cette option pour cacher les groupes</string>
+	<string name="CLP_hidden_contact">Cachez les contacts</string>
+	<string name="CLP_hidden_contact_sum">Cochez cette option pour cacher les contacts déconnectés</string>
 	
 	<!-- EditSettings Activity Account tab -->
 	<string name="settings_account_username">Nom d\'utilisateur</string>
--- a/res/values/strings.xml	Sat Feb 13 22:39:15 2010 +0100
+++ b/res/values/strings.xml	Sat Feb 13 21:48:19 2010 +0100
@@ -193,7 +193,10 @@
 	<string name="contact_list_preferences">Buddy list</string>
 	<string name="contact_list_preferences_sum">A set of display options for your buddy list
 	</string>
-	<string name="CLP_hidden_contact">Hidden</string>
+	
+	<string name="CLP_hide_groups">Hide groups</string>	
+	<string name="CLP_hide_groups_sum">Check this option to hide groups</string>
+	<string name="CLP_hidden_contact">Hide buddies</string>
 	<string name="CLP_hidden_contact_sum">Check this option to hide unconnected buddies
 	</string>
 
--- a/src/com/beem/project/beem/BeemService.java	Sat Feb 13 22:39:15 2010 +0100
+++ b/src/com/beem/project/beem/BeemService.java	Sat Feb 13 21:48:19 2010 +0100
@@ -40,7 +40,7 @@
     Flavien Astraud, November 26, 2009
     Head of the EIP Laboratory.
 
- */
+*/
 package com.beem.project.beem;
 
 import org.jivesoftware.smack.ConnectionConfiguration;
@@ -53,30 +53,6 @@
 import org.jivesoftware.smack.proxy.ProxyInfo;
 import org.jivesoftware.smack.proxy.ProxyInfo.ProxyType;
 import org.jivesoftware.smack.util.StringUtils;
-import org.jivesoftware.smackx.GroupChatInvitation;
-import org.jivesoftware.smackx.PrivateDataManager;
-import org.jivesoftware.smackx.packet.ChatStateExtension;
-import org.jivesoftware.smackx.packet.LastActivity;
-import org.jivesoftware.smackx.packet.OfflineMessageInfo;
-import org.jivesoftware.smackx.packet.OfflineMessageRequest;
-import org.jivesoftware.smackx.packet.SharedGroupsInfo;
-import org.jivesoftware.smackx.provider.AdHocCommandDataProvider;
-import org.jivesoftware.smackx.provider.BytestreamsProvider;
-import org.jivesoftware.smackx.provider.DataFormProvider;
-import org.jivesoftware.smackx.provider.DelayInformationProvider;
-import org.jivesoftware.smackx.provider.DiscoverInfoProvider;
-import org.jivesoftware.smackx.provider.DiscoverItemsProvider;
-import org.jivesoftware.smackx.provider.IBBProviders;
-import org.jivesoftware.smackx.provider.MUCAdminProvider;
-import org.jivesoftware.smackx.provider.MUCOwnerProvider;
-import org.jivesoftware.smackx.provider.MUCUserProvider;
-import org.jivesoftware.smackx.provider.MessageEventProvider;
-import org.jivesoftware.smackx.provider.MultipleAddressesProvider;
-import org.jivesoftware.smackx.provider.RosterExchangeProvider;
-import org.jivesoftware.smackx.provider.StreamInitiationProvider;
-import org.jivesoftware.smackx.provider.VCardProvider;
-import org.jivesoftware.smackx.provider.XHTMLExtensionProvider;
-import org.jivesoftware.smackx.search.UserSearch;
 
 import android.app.Notification;
 import android.app.NotificationManager;
@@ -313,7 +289,7 @@
     private void configure(ProviderManager pm) {
 	// Privacy
 	pm.addIQProvider("query", "jabber:iq:privacy", new PrivacyProvider());
-	
+
 	/*
 	// Private Data Storage
 	pm.addIQProvider("query", "jabber:iq:private", new PrivateDataManager.PrivateDataIQProvider());
@@ -393,7 +369,7 @@
 	    new AdHocCommandDataProvider.BadSessionIDError());
 	pm.addExtensionProvider("session-expired", COMMAND_NAMESPACE,
 	    new AdHocCommandDataProvider.SessionExpiredError());
-	    */
+	 */
     }
 }
 
--- a/src/com/beem/project/beem/service/XmppConnectionAdapter.java	Sat Feb 13 22:39:15 2010 +0100
+++ b/src/com/beem/project/beem/service/XmppConnectionAdapter.java	Sat Feb 13 21:48:19 2010 +0100
@@ -40,7 +40,7 @@
     Flavien Astraud, November 26, 2009
     Head of the EIP Laboratory.
 
- */
+*/
 package com.beem.project.beem.service;
 
 import org.jivesoftware.smack.ConnectionConfiguration;
--- a/src/com/beem/project/beem/ui/ContactList.java	Sat Feb 13 22:39:15 2010 +0100
+++ b/src/com/beem/project/beem/ui/ContactList.java	Sat Feb 13 21:48:19 2010 +0100
@@ -59,6 +59,7 @@
 import android.content.ServiceConnection;
 import android.content.SharedPreferences;
 import android.graphics.BitmapFactory;
+import android.graphics.drawable.BitmapDrawable;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.IBinder;
@@ -72,14 +73,15 @@
 import android.view.MenuItem;
 import android.view.View;
 import android.view.ViewGroup;
+import android.view.ViewStub;
 import android.widget.AdapterView;
 import android.widget.BaseAdapter;
 import android.widget.Gallery;
+import android.widget.LinearLayout;
+import android.widget.ListView;
 import android.widget.TextView;
-import android.widget.ListView;
 import android.widget.AdapterView.AdapterContextMenuInfo;
 import android.widget.AdapterView.OnItemClickListener;
-import android.graphics.drawable.BitmapDrawable;
 
 import com.beem.project.beem.R;
 import com.beem.project.beem.service.Contact;
@@ -237,7 +239,7 @@
 		    break;
 		default:
 		    result = super.onContextItemSelected(item);
-		    break;
+		break;
 	    }
 	    return result;
 	}
@@ -284,8 +286,13 @@
 	if (mXmppFacade == null)
 	    bindService(SERVICE_INTENT, mServConn, BIND_AUTO_CREATE);
 	else {
+
+	    if (!mSettings.getBoolean("settings_key_hide_groups", true))
+		buildBanner();
+	    else
+		hideGroups();
+
 	    buildContactList();
-	    buildBanner();
 	}
     }
 
@@ -380,6 +387,10 @@
      * buildBanner.
      */
     private void buildBanner() {
+
+	ViewStub stub = (ViewStub) findViewById(R.id.contactlist_stub);
+	if (stub != null)
+	    stub.inflate();
 	Gallery g = (Gallery) findViewById(R.id.contactlist_banner);
 	g.setOnItemClickListener(new OnItemClickGroupName());
 	g.setAdapter(mAdapterBanner);
@@ -432,11 +443,11 @@
 	mIconsMap.put(Status.CONTACT_STATUS_AVAILABLE, new BitmapDrawable(BitmapFactory.decodeResource(getResources(),
 	    android.R.drawable.presence_online)));
 	mIconsMap.put(Status.CONTACT_STATUS_AVAILABLE_FOR_CHAT,
-		new BitmapDrawable(BitmapFactory.decodeResource(getResources(), android.R.drawable.presence_online)));
+	    new BitmapDrawable(BitmapFactory.decodeResource(getResources(), android.R.drawable.presence_online)));
 	mIconsMap.put(Status.CONTACT_STATUS_AWAY,
-		new BitmapDrawable(BitmapFactory.decodeResource(getResources(), android.R.drawable.presence_away)));
+	    new BitmapDrawable(BitmapFactory.decodeResource(getResources(), android.R.drawable.presence_away)));
 	mIconsMap.put(Status.CONTACT_STATUS_BUSY,
-		new BitmapDrawable(BitmapFactory.decodeResource(getResources(), android.R.drawable.presence_busy)));
+	    new BitmapDrawable(BitmapFactory.decodeResource(getResources(), android.R.drawable.presence_busy)));
 	mIconsMap.put(Status.CONTACT_STATUS_DISCONNECT, new BitmapDrawable(BitmapFactory.decodeResource(getResources(),
 	    android.R.drawable.presence_offline)));
 	mIconsMap.put(Status.CONTACT_STATUS_UNAVAILABLE, new BitmapDrawable(BitmapFactory.decodeResource(getResources(),
@@ -786,7 +797,10 @@
 		    }
 		    mContactOnGroup.put(getString(R.string.contact_list_all_contact), tmpContactList);
 		    mCurGroup = getString(R.string.contact_list_all_contact);
-		    buildBanner();
+		    if (!mSettings.getBoolean("settings_key_hide_groups", true))
+			buildBanner();
+		    else
+			hideGroups();
 		    buildContactList();
 		}
 	    } catch (RemoteException e) {
@@ -813,4 +827,10 @@
     protected void finalize() {
 	Log.e(TAG, "FINALIZE");
     }
+
+    private void hideGroups() {
+	ViewStub stub = (ViewStub) findViewById(R.id.contactlist_stub);
+	if (stub == null)
+	    ((LinearLayout) findViewById(R.id.contactlist_groupstub)).setVisibility(View.GONE);	
+    }
 }