mirror of
				https://github.com/pierre42100/ComunicAndroid
				synced 2025-11-04 11:34:06 +00:00 
			
		
		
		
	Display search user result
This commit is contained in:
		@@ -2,12 +2,10 @@
 | 
			
		||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
 | 
			
		||||
    package="org.communiquons.android.comunic.client">
 | 
			
		||||
 | 
			
		||||
    <!-- Internet access is required to access the API -->
 | 
			
		||||
    <!-- Internet access is required to access the API and download medias -->
 | 
			
		||||
    <uses-permission android:name="android.permission.INTERNET" />
 | 
			
		||||
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    <application
 | 
			
		||||
        android:allowBackup="true"
 | 
			
		||||
        android:fullBackupContent="@xml/backup_scheme"
 | 
			
		||||
@@ -16,6 +14,8 @@
 | 
			
		||||
        android:roundIcon="@mipmap/ic_launcher_round"
 | 
			
		||||
        android:supportsRtl="true"
 | 
			
		||||
        android:theme="@style/AppTheme">
 | 
			
		||||
 | 
			
		||||
        <!-- Main activity of the application -->
 | 
			
		||||
        <activity android:name=".MainActivity">
 | 
			
		||||
            <intent-filter>
 | 
			
		||||
                <action android:name="android.intent.action.MAIN" />
 | 
			
		||||
@@ -23,8 +23,17 @@
 | 
			
		||||
                <category android:name="android.intent.category.LAUNCHER" />
 | 
			
		||||
            </intent-filter>
 | 
			
		||||
        </activity>
 | 
			
		||||
        <activity android:name=".LoginActivity"
 | 
			
		||||
            android:label="@string/activity_login_header"></activity>
 | 
			
		||||
 | 
			
		||||
        <!-- Login activity -->
 | 
			
		||||
        <activity
 | 
			
		||||
            android:name=".LoginActivity"
 | 
			
		||||
            android:label="@string/activity_login_header" />
 | 
			
		||||
 | 
			
		||||
        <!-- Search user activity -->
 | 
			
		||||
        <activity
 | 
			
		||||
            android:name=".SearchUserActivity"
 | 
			
		||||
            android:label="@string/activity_searchuser_title"/>
 | 
			
		||||
 | 
			
		||||
    </application>
 | 
			
		||||
 | 
			
		||||
</manifest>
 | 
			
		||||
@@ -0,0 +1,132 @@
 | 
			
		||||
package org.communiquons.android.comunic.client;
 | 
			
		||||
 | 
			
		||||
import android.os.AsyncTask;
 | 
			
		||||
import android.support.annotation.Nullable;
 | 
			
		||||
import android.support.v7.app.AppCompatActivity;
 | 
			
		||||
import android.os.Bundle;
 | 
			
		||||
import android.text.Editable;
 | 
			
		||||
import android.text.TextWatcher;
 | 
			
		||||
import android.util.ArrayMap;
 | 
			
		||||
import android.widget.EditText;
 | 
			
		||||
import android.widget.ListView;
 | 
			
		||||
import android.widget.Toast;
 | 
			
		||||
 | 
			
		||||
import org.communiquons.android.comunic.client.data.DatabaseHelper;
 | 
			
		||||
import org.communiquons.android.comunic.client.data.UsersInfo.GetUsersHelper;
 | 
			
		||||
import org.communiquons.android.comunic.client.data.UsersInfo.UsersBasicAdapter;
 | 
			
		||||
import org.communiquons.android.comunic.client.data.UsersInfo.UserInfo;
 | 
			
		||||
 | 
			
		||||
import java.util.ArrayList;
 | 
			
		||||
 | 
			
		||||
public class SearchUserActivity extends AppCompatActivity 
 | 
			
		||||
        implements TextWatcher{
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Debug tag
 | 
			
		||||
     */
 | 
			
		||||
    private static final String TAG = "SearchUserActivity";
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Search field
 | 
			
		||||
     */
 | 
			
		||||
    private EditText searchField;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Results list
 | 
			
		||||
     */
 | 
			
		||||
    private ListView resultListView;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Search result user informations
 | 
			
		||||
     */
 | 
			
		||||
    private ArrayList<UserInfo> resultArray;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Search results adapter
 | 
			
		||||
     */
 | 
			
		||||
    private UsersBasicAdapter resultAdapter;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get user infos helper
 | 
			
		||||
     */
 | 
			
		||||
    private GetUsersHelper getUsersHelper;
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    protected void onCreate(Bundle savedInstanceState) {
 | 
			
		||||
        super.onCreate(savedInstanceState);
 | 
			
		||||
        setContentView(R.layout.activity_search_user);
 | 
			
		||||
 | 
			
		||||
        //Create a get user helper object
 | 
			
		||||
        getUsersHelper = new GetUsersHelper(this, DatabaseHelper.getInstance(this));
 | 
			
		||||
 | 
			
		||||
        //Get view
 | 
			
		||||
        searchField = (EditText) findViewById(R.id.activity_search_user_field);
 | 
			
		||||
        resultListView = (ListView) findViewById(R.id.activity_search_user_results);
 | 
			
		||||
 | 
			
		||||
        //Set on key listener
 | 
			
		||||
        searchField.addTextChangedListener(this);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public void onTextChanged(CharSequence s, int start, int before, int count) {
 | 
			
		||||
        //Do nothing
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {
 | 
			
		||||
        //Do nothing
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public void afterTextChanged(Editable s) {
 | 
			
		||||
        newSearch(""+searchField.getText());
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Perform a new search on the server
 | 
			
		||||
     *
 | 
			
		||||
     * @param query The query to perform on the server
 | 
			
		||||
     */
 | 
			
		||||
    private void newSearch(String query){
 | 
			
		||||
 | 
			
		||||
        //Check if there is a query
 | 
			
		||||
        if(query.equals(""))
 | 
			
		||||
            return; //Cancel the request
 | 
			
		||||
 | 
			
		||||
        new AsyncTask<String, Void, ArrayMap<Integer, UserInfo>>(){
 | 
			
		||||
            @Override
 | 
			
		||||
            protected ArrayMap<Integer, UserInfo> doInBackground(String... params) {
 | 
			
		||||
                return getUsersHelper.search_users(params[0]);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            @Override
 | 
			
		||||
            protected void onPostExecute(ArrayMap<Integer, UserInfo> result) {
 | 
			
		||||
                searchCallback(result);
 | 
			
		||||
            }
 | 
			
		||||
        }.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, query);
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Search callback function
 | 
			
		||||
     *
 | 
			
		||||
     * @param result The result of the research
 | 
			
		||||
     */
 | 
			
		||||
    private void searchCallback(@Nullable ArrayMap<Integer, UserInfo> result){
 | 
			
		||||
 | 
			
		||||
        //Check for errors
 | 
			
		||||
        if(result == null){
 | 
			
		||||
            Toast.makeText(this, R.string.err_search_user, Toast.LENGTH_SHORT).show();
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        //Save the results
 | 
			
		||||
        resultArray = new ArrayList<>(result.values());
 | 
			
		||||
 | 
			
		||||
        //Display the result
 | 
			
		||||
        resultAdapter = new UsersBasicAdapter(this, resultArray);
 | 
			
		||||
 | 
			
		||||
        //Set the adapter
 | 
			
		||||
        resultListView.setAdapter(resultAdapter);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -59,7 +59,7 @@ class ImageDownloadRunnable implements Runnable {
 | 
			
		||||
            InputStream is = conn.getInputStream();
 | 
			
		||||
 | 
			
		||||
            //Process image
 | 
			
		||||
            Bitmap image =BitmapFactory.decodeStream(is);
 | 
			
		||||
            Bitmap image = BitmapFactory.decodeStream(is);
 | 
			
		||||
            image.compress(Bitmap.CompressFormat.PNG, 100, os);
 | 
			
		||||
 | 
			
		||||
            os.close();
 | 
			
		||||
 
 | 
			
		||||
@@ -10,6 +10,7 @@ import org.communiquons.android.comunic.client.api.APIRequest;
 | 
			
		||||
import org.communiquons.android.comunic.client.api.APIRequestParameters;
 | 
			
		||||
import org.communiquons.android.comunic.client.api.APIResponse;
 | 
			
		||||
import org.communiquons.android.comunic.client.data.DatabaseHelper;
 | 
			
		||||
import org.json.JSONArray;
 | 
			
		||||
import org.json.JSONException;
 | 
			
		||||
import org.json.JSONObject;
 | 
			
		||||
 | 
			
		||||
@@ -155,6 +156,57 @@ public class GetUsersHelper {
 | 
			
		||||
        return usersInfo;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Search for user from online source
 | 
			
		||||
     *
 | 
			
		||||
     * @param query The query string
 | 
			
		||||
     * @return A list of users / false in case of failure
 | 
			
		||||
     */
 | 
			
		||||
    @Nullable
 | 
			
		||||
    public ArrayMap<Integer, UserInfo> search_users(String query){
 | 
			
		||||
 | 
			
		||||
        //Fetch users online
 | 
			
		||||
        ArrayList<Integer> usersID = search_users_online(query);
 | 
			
		||||
 | 
			
		||||
        //Check for errors
 | 
			
		||||
        if(usersID == null)
 | 
			
		||||
            return null;
 | 
			
		||||
 | 
			
		||||
        return getMultiple(usersID);
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Search for users on the API
 | 
			
		||||
     *
 | 
			
		||||
     * @param query The query of the research
 | 
			
		||||
     * @return The ID of the corresponding users / false in case of failure
 | 
			
		||||
     */
 | 
			
		||||
    @Nullable
 | 
			
		||||
    private ArrayList<Integer> search_users_online(String query){
 | 
			
		||||
 | 
			
		||||
        //Make an API request
 | 
			
		||||
        APIRequestParameters params = new APIRequestParameters(mContext, "search/user");
 | 
			
		||||
        params.addParameter("query", query);
 | 
			
		||||
 | 
			
		||||
        try {
 | 
			
		||||
 | 
			
		||||
            //Get and extract the response
 | 
			
		||||
            APIResponse response = new APIRequest().exec(params);
 | 
			
		||||
            JSONArray array = response.getJSONArray();
 | 
			
		||||
 | 
			
		||||
            //Make response
 | 
			
		||||
            ArrayList<Integer> IDs = new ArrayList<>();
 | 
			
		||||
            for(int i = 0; i < array.length(); i++){
 | 
			
		||||
                IDs.add(array.getInt(i));
 | 
			
		||||
            }
 | 
			
		||||
            return IDs;
 | 
			
		||||
 | 
			
		||||
        } catch (Exception e){
 | 
			
		||||
            e.printStackTrace();
 | 
			
		||||
            return null;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get and return the information about multiple users from the server
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,7 @@
 | 
			
		||||
package org.communiquons.android.comunic.client.data.UsersInfo;
 | 
			
		||||
 | 
			
		||||
import org.communiquons.android.comunic.client.data.utils.Utilities;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * This class contains the informations about a single user
 | 
			
		||||
 *
 | 
			
		||||
@@ -80,6 +82,15 @@ public class UserInfo {
 | 
			
		||||
        return firstName + " " + lastName;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get the full name of the user ready to be shown
 | 
			
		||||
     *
 | 
			
		||||
     * @return The full name of the user
 | 
			
		||||
     */
 | 
			
		||||
    public String getDisplayFullName(){
 | 
			
		||||
        return Utilities.prepareStringTextView(getFullName());
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Set the image URL of the account of the user
 | 
			
		||||
     *
 | 
			
		||||
 
 | 
			
		||||
@@ -0,0 +1,69 @@
 | 
			
		||||
package org.communiquons.android.comunic.client.data.UsersInfo;
 | 
			
		||||
 | 
			
		||||
import android.content.Context;
 | 
			
		||||
import android.support.annotation.NonNull;
 | 
			
		||||
import android.support.annotation.Nullable;
 | 
			
		||||
import android.view.LayoutInflater;
 | 
			
		||||
import android.view.View;
 | 
			
		||||
import android.view.ViewGroup;
 | 
			
		||||
import android.widget.ArrayAdapter;
 | 
			
		||||
import android.widget.ImageView;
 | 
			
		||||
import android.widget.TextView;
 | 
			
		||||
 | 
			
		||||
import org.communiquons.android.comunic.client.R;
 | 
			
		||||
import org.communiquons.android.comunic.client.data.ImageLoad.ImageLoadManager;
 | 
			
		||||
import org.communiquons.android.comunic.client.data.utils.UiUtils;
 | 
			
		||||
 | 
			
		||||
import java.util.ArrayList;
 | 
			
		||||
import java.util.zip.Inflater;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * User basic adapter
 | 
			
		||||
 *
 | 
			
		||||
 * Allow to display basic informations about a set of users in a ListView
 | 
			
		||||
 *
 | 
			
		||||
 * @author Pierre HUBERT
 | 
			
		||||
 * Created by pierre on 1/1/18.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
public class UsersBasicAdapter extends ArrayAdapter<UserInfo> {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Public constructor
 | 
			
		||||
     *
 | 
			
		||||
     * @param context The context of the activity
 | 
			
		||||
     * @param list The dataset
 | 
			
		||||
     */
 | 
			
		||||
    public UsersBasicAdapter(@NonNull Context context, @NonNull ArrayList<UserInfo> list){
 | 
			
		||||
        super(context, 0, list);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @NonNull
 | 
			
		||||
    @Override
 | 
			
		||||
    public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
 | 
			
		||||
 | 
			
		||||
        //Check if the view has to be inflated
 | 
			
		||||
        if(convertView == null)
 | 
			
		||||
            convertView = LayoutInflater.from(getContext()).
 | 
			
		||||
                    inflate(R.layout.user_basic_adapter_item, parent, false);
 | 
			
		||||
 | 
			
		||||
        //Get item
 | 
			
		||||
        UserInfo userInfos = getItem(position);
 | 
			
		||||
 | 
			
		||||
        if(userInfos != null){
 | 
			
		||||
 | 
			
		||||
            //Set user name
 | 
			
		||||
            ((TextView) convertView.findViewById(R.id.user_name)).
 | 
			
		||||
                    setText(userInfos.getDisplayFullName());
 | 
			
		||||
 | 
			
		||||
            //Set account image
 | 
			
		||||
            ImageView account_image = convertView.findViewById(R.id.user_account_image);
 | 
			
		||||
            ImageLoadManager.remove(account_image);
 | 
			
		||||
            account_image.setImageDrawable(UiUtils.getDrawable(getContext(),
 | 
			
		||||
                    R.drawable.default_account_image));
 | 
			
		||||
            ImageLoadManager.load(getContext(), userInfos.getAcountImageURL(), account_image);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return convertView;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +1,7 @@
 | 
			
		||||
package org.communiquons.android.comunic.client.data.utils;
 | 
			
		||||
 | 
			
		||||
import android.content.Context;
 | 
			
		||||
import android.graphics.drawable.Drawable;
 | 
			
		||||
import android.os.Build;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@@ -28,4 +29,14 @@ public class UiUtils {
 | 
			
		||||
            return context.getResources().getColor(color_id);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get a drawable from ressources
 | 
			
		||||
     *
 | 
			
		||||
     * @param context The context of the application
 | 
			
		||||
     * @param drawable_id The ID of the drawable to get
 | 
			
		||||
     */
 | 
			
		||||
    public static Drawable getDrawable(Context context, int drawable_id){
 | 
			
		||||
        return context.getResources().getDrawable(drawable_id, context.getTheme());
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,8 @@
 | 
			
		||||
package org.communiquons.android.comunic.client.fragments;
 | 
			
		||||
 | 
			
		||||
import android.app.Activity;
 | 
			
		||||
import android.app.Fragment;
 | 
			
		||||
import android.content.Intent;
 | 
			
		||||
import android.os.Bundle;
 | 
			
		||||
import android.support.annotation.Nullable;
 | 
			
		||||
import android.view.LayoutInflater;
 | 
			
		||||
@@ -10,9 +12,11 @@ import android.widget.Button;
 | 
			
		||||
import android.widget.CheckBox;
 | 
			
		||||
import android.widget.ListView;
 | 
			
		||||
import android.widget.TextView;
 | 
			
		||||
import android.widget.Toast;
 | 
			
		||||
 | 
			
		||||
import org.communiquons.android.comunic.client.MainActivity;
 | 
			
		||||
import org.communiquons.android.comunic.client.R;
 | 
			
		||||
import org.communiquons.android.comunic.client.SearchUserActivity;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Create and / or update a conversation fragment
 | 
			
		||||
@@ -23,6 +27,16 @@ import org.communiquons.android.comunic.client.R;
 | 
			
		||||
 | 
			
		||||
public class UpdateConversationFragment extends Fragment {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Debug tag
 | 
			
		||||
     */
 | 
			
		||||
    private static final String TAG = "UpdateConversationFragment";
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Find user ID intent
 | 
			
		||||
     */
 | 
			
		||||
    public static final int FIND_USER_ID_INTENT = 0;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * The name of the conversation
 | 
			
		||||
     */
 | 
			
		||||
@@ -89,6 +103,19 @@ public class UpdateConversationFragment extends Fragment {
 | 
			
		||||
     */
 | 
			
		||||
    private void requestAddMember(){
 | 
			
		||||
 | 
			
		||||
        //Make intent
 | 
			
		||||
        Intent intent = new Intent(getActivity(), SearchUserActivity.class);
 | 
			
		||||
        startActivityForResult(intent, FIND_USER_ID_INTENT);
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
 | 
			
		||||
        super.onActivityResult(requestCode, resultCode, data);
 | 
			
		||||
 | 
			
		||||
        //Check if it is a success
 | 
			
		||||
        if(resultCode == Activity.RESULT_OK){
 | 
			
		||||
            Toast.makeText(getActivity(), "Request success", Toast.LENGTH_SHORT).show();
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										28
									
								
								app/src/main/res/layout/activity_search_user.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								app/src/main/res/layout/activity_search_user.xml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,28 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 | 
			
		||||
    android:layout_width="match_parent"
 | 
			
		||||
    android:layout_height="match_parent"
 | 
			
		||||
    android:orientation="vertical">
 | 
			
		||||
 | 
			
		||||
    <!-- Enter user name -->
 | 
			
		||||
    <android.support.design.widget.TextInputLayout
 | 
			
		||||
        android:layout_width="match_parent"
 | 
			
		||||
        android:layout_height="wrap_content">
 | 
			
		||||
 | 
			
		||||
        <EditText
 | 
			
		||||
            android:id="@+id/activity_search_user_field"
 | 
			
		||||
            android:layout_width="match_parent"
 | 
			
		||||
            android:layout_height="wrap_content"
 | 
			
		||||
            android:hint="@string/activity_searchuser_text_placeholder"
 | 
			
		||||
            android:maxLines="1"/>
 | 
			
		||||
 | 
			
		||||
    </android.support.design.widget.TextInputLayout>
 | 
			
		||||
 | 
			
		||||
    <!-- Results list -->
 | 
			
		||||
    <ListView
 | 
			
		||||
        android:id="@+id/activity_search_user_results"
 | 
			
		||||
        android:layout_width="match_parent"
 | 
			
		||||
        android:layout_height="0dp"
 | 
			
		||||
        android:layout_weight="1"/>
 | 
			
		||||
 | 
			
		||||
</LinearLayout>
 | 
			
		||||
							
								
								
									
										23
									
								
								app/src/main/res/layout/user_basic_adapter_item.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								app/src/main/res/layout/user_basic_adapter_item.xml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,23 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 | 
			
		||||
    xmlns:tools="http://schemas.android.com/tools"
 | 
			
		||||
    android:orientation="horizontal"
 | 
			
		||||
    android:layout_width="match_parent"
 | 
			
		||||
    android:layout_height="wrap_content">
 | 
			
		||||
 | 
			
		||||
    <ImageView
 | 
			
		||||
        android:id="@+id/user_account_image"
 | 
			
		||||
        android:layout_width="@dimen/account_image_default_width"
 | 
			
		||||
        android:layout_height="@dimen/account_image_default_height"
 | 
			
		||||
        android:src="@drawable/default_account_image" />
 | 
			
		||||
 | 
			
		||||
    <TextView
 | 
			
		||||
        android:id="@+id/user_name"
 | 
			
		||||
        style="?textAppearanceListItem"
 | 
			
		||||
        android:layout_width="wrap_content"
 | 
			
		||||
        android:layout_height="wrap_content"
 | 
			
		||||
        tools:text="User name"
 | 
			
		||||
        android:layout_gravity="center"
 | 
			
		||||
        android:paddingStart="5dp"
 | 
			
		||||
        android:paddingEnd="1dp"/>
 | 
			
		||||
</LinearLayout>
 | 
			
		||||
@@ -79,4 +79,7 @@
 | 
			
		||||
    <string name="fragment_update_conversation_button_create">Create</string>
 | 
			
		||||
    <string name="fragment_update_conversation_follow">Follow the conversation</string>
 | 
			
		||||
    <string name="fragment_update_conversation_addmember">Add a member</string>
 | 
			
		||||
    <string name="activity_searchuser_title">Search user</string>
 | 
			
		||||
    <string name="activity_searchuser_text_placeholder">User name</string>
 | 
			
		||||
    <string name="err_search_user">Could not search user !</string>
 | 
			
		||||
</resources>
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user