mirror of
https://github.com/pierre42100/ComunicAndroid
synced 2024-12-25 13:08:58 +00:00
Improved a few things
This commit is contained in:
parent
8a309dd508
commit
0eed4d1f6e
@ -1,6 +1,7 @@
|
||||
package org.communiquons.android.comunic.client.data.helpers;
|
||||
|
||||
import android.content.ContentValues;
|
||||
import android.content.Context;
|
||||
import android.database.Cursor;
|
||||
import android.database.sqlite.SQLiteDatabase;
|
||||
import android.support.annotation.NonNull;
|
||||
@ -23,7 +24,7 @@ class ConversationMessagesDbHelper {
|
||||
/**
|
||||
* Debug tag
|
||||
*/
|
||||
private static final String TAG = "ConversationMessagesDbH";
|
||||
private static final String TAG = ConversationMessagesDbHelper.class.getSimpleName();
|
||||
|
||||
/**
|
||||
* Database helper object
|
||||
@ -50,10 +51,10 @@ class ConversationMessagesDbHelper {
|
||||
/**
|
||||
* Class constructor
|
||||
*
|
||||
* @param dbHelper Database helper
|
||||
* @param context Application context
|
||||
*/
|
||||
ConversationMessagesDbHelper(@NonNull DatabaseHelper dbHelper){
|
||||
this.dbHelper = dbHelper;
|
||||
ConversationMessagesDbHelper(@NonNull Context context){
|
||||
this.dbHelper = DatabaseHelper.getInstance(context);
|
||||
}
|
||||
|
||||
|
||||
|
@ -23,42 +23,28 @@ import java.util.ArrayList;
|
||||
* Created by pierre on 12/16/17.
|
||||
*/
|
||||
|
||||
public class ConversationMessagesHelper {
|
||||
public class ConversationMessagesHelper extends BaseHelper {
|
||||
|
||||
/**
|
||||
* Debug tag
|
||||
*/
|
||||
private static final String TAG = "ConversationMessagesHel";
|
||||
private static final String TAG = ConversationMessagesHelper.class.getSimpleName();
|
||||
|
||||
/**
|
||||
* Conversations messages database helper
|
||||
*/
|
||||
private ConversationMessagesDbHelper mDbHelper;
|
||||
|
||||
/**
|
||||
* Context of execution of the application
|
||||
*/
|
||||
private Context mContext;
|
||||
|
||||
/**
|
||||
* Constructor of the helper
|
||||
*
|
||||
* @param context The context of the application
|
||||
*/
|
||||
public ConversationMessagesHelper(Context context){
|
||||
this(context.getApplicationContext(), DatabaseHelper.getInstance(context));
|
||||
}
|
||||
|
||||
/**
|
||||
* Public constructor of the helper
|
||||
*
|
||||
* @param context The context of execution of the application
|
||||
* @param dbHelper Database helper associated with the context
|
||||
*/
|
||||
public ConversationMessagesHelper(Context context, DatabaseHelper dbHelper){
|
||||
mContext = context;
|
||||
mDbHelper = new ConversationMessagesDbHelper(dbHelper);
|
||||
super(context);
|
||||
mDbHelper = new ConversationMessagesDbHelper(context);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get the latest messages of a conversation
|
||||
@ -98,7 +84,7 @@ public class ConversationMessagesHelper {
|
||||
public boolean sendMessage(NewConversationMessage message){
|
||||
|
||||
//Make an API request
|
||||
APIFileRequest params = new APIFileRequest(mContext,
|
||||
APIFileRequest params = new APIFileRequest(getContext(),
|
||||
"conversations/sendMessage");
|
||||
params.addInt("conversationID", message.getConversationID());
|
||||
params.addString("message", message.getMessage());
|
||||
@ -209,7 +195,7 @@ public class ConversationMessagesHelper {
|
||||
private ArrayList<ConversationMessage> downloadNew(int conversationID, int last_message_id){
|
||||
|
||||
//Prepare a request on the API
|
||||
APIRequest params = new APIRequest(mContext,
|
||||
APIRequest params = new APIRequest(getContext(),
|
||||
"conversations/refresh_single");
|
||||
params.addString("conversationID", ""+conversationID);
|
||||
params.addString("last_message_id", ""+last_message_id);
|
||||
@ -254,7 +240,7 @@ public class ConversationMessagesHelper {
|
||||
ArrayList<ConversationMessage> list = new ArrayList<>();
|
||||
|
||||
//Prepare a request over the server
|
||||
APIRequest req = new APIRequest(mContext, "conversations/get_older_messages");
|
||||
APIRequest req = new APIRequest(getContext(), "conversations/get_older_messages");
|
||||
req.addInt("conversationID", conversationID);
|
||||
req.addInt("oldest_message_id", oldestMessageID);
|
||||
req.addInt("limit", limit);
|
||||
@ -291,7 +277,7 @@ public class ConversationMessagesHelper {
|
||||
public boolean updateMessage(ConversationMessage message){
|
||||
|
||||
//Perform the request over the API
|
||||
APIRequest request = new APIRequest(mContext, "conversations/updateMessage");
|
||||
APIRequest request = new APIRequest(getContext(), "conversations/updateMessage");
|
||||
request.addInt("messageID", message.getId());
|
||||
|
||||
if(message.hasContent())
|
||||
@ -317,7 +303,7 @@ public class ConversationMessagesHelper {
|
||||
public boolean deleteMessage(int messageID){
|
||||
|
||||
//Make a request on the server
|
||||
APIRequest request = new APIRequest(mContext, "conversations/deleteMessage");
|
||||
APIRequest request = new APIRequest(getContext(), "conversations/deleteMessage");
|
||||
request.addInt("messageID", messageID);
|
||||
|
||||
try {
|
||||
|
@ -212,7 +212,7 @@ public class ConversationFragment extends Fragment
|
||||
DatabaseHelper dbHelper = DatabaseHelper.getInstance(getActivity());
|
||||
|
||||
//Set conversation message helper
|
||||
convMessHelper = new ConversationMessagesHelper(getActivity(), dbHelper);
|
||||
convMessHelper = new ConversationMessagesHelper(getActivity());
|
||||
|
||||
//Set conversation list helper
|
||||
convListHelper = new ConversationsListHelper(getActivity(), dbHelper);
|
||||
@ -270,19 +270,11 @@ public class ConversationFragment extends Fragment
|
||||
userID = AccountUtils.getID(getActivity());
|
||||
|
||||
//Initialize toolbar
|
||||
mAppBar.addBackButton(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
MainActivity.goBackward(getActivity());
|
||||
}
|
||||
});
|
||||
mAppBar.addBackButton(v -> MainActivity.goBackward(Objects.requireNonNull(getActivity())));
|
||||
|
||||
mAppBar.addButton(R.drawable.ic_settings, new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
((MainActivity)getActivity()).updateConversation(conversation_id);
|
||||
}
|
||||
});
|
||||
mAppBar.addButton(R.drawable.ic_settings,
|
||||
v -> ((MainActivity)Objects.requireNonNull(getActivity()))
|
||||
.updateConversation(conversation_id));
|
||||
|
||||
|
||||
//Create the adapter
|
||||
@ -304,41 +296,25 @@ public class ConversationFragment extends Fragment
|
||||
new_message_progress_bar = view.findViewById(R.id.fragment_conversation_newmessage_loading);
|
||||
|
||||
//Make send button lives
|
||||
send_button.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
send_message();
|
||||
}
|
||||
});
|
||||
send_button.setOnClickListener(v -> send_message());
|
||||
|
||||
//Make message input act like send button on enter key press
|
||||
new_message_content.setOnKeyListener(new View.OnKeyListener() {
|
||||
@Override
|
||||
public boolean onKey(View v, int keyCode, KeyEvent event) {
|
||||
|
||||
if(event.getAction() == KeyEvent.ACTION_DOWN && keyCode == KeyEvent.KEYCODE_ENTER) {
|
||||
send_message();
|
||||
return false;
|
||||
}
|
||||
|
||||
new_message_content.setOnKeyListener((v, keyCode, event) -> {
|
||||
|
||||
if(event.getAction() == KeyEvent.ACTION_DOWN && keyCode == KeyEvent.KEYCODE_ENTER) {
|
||||
send_message();
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
//Make pick image button lives
|
||||
pick_image_button.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
pick_image();
|
||||
}
|
||||
});
|
||||
pick_image_button.setOnLongClickListener(new View.OnLongClickListener() {
|
||||
@Override
|
||||
public boolean onLongClick(View v) {
|
||||
confirm_remove_picked_image();
|
||||
return true;
|
||||
}
|
||||
pick_image_button.setOnClickListener(v -> pick_image());
|
||||
pick_image_button.setOnLongClickListener(v -> {
|
||||
confirm_remove_picked_image();
|
||||
return true;
|
||||
});
|
||||
|
||||
//Hide new message sending wheel
|
||||
@ -360,7 +336,8 @@ public class ConversationFragment extends Fragment
|
||||
new Thread(refreshRunnable).start();
|
||||
|
||||
//Update conversation title
|
||||
setTitle(UiUtils.getString(getActivity(), R.string.fragment_conversation_title));
|
||||
setTitle(UiUtils.getString(Objects
|
||||
.requireNonNull(getActivity()), R.string.fragment_conversation_title));
|
||||
MainActivity.SetNavbarSelectedOption(getActivity(), R.id.action_conversations);
|
||||
|
||||
|
||||
@ -533,13 +510,9 @@ public class ConversationFragment extends Fragment
|
||||
|
||||
mHasCallButton = true;
|
||||
|
||||
mAppBar.addButton(R.drawable.ic_call, new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
((OnOpenCallListener)Objects.requireNonNull(getActivity()))
|
||||
.createCallForConversation(conversation_id);
|
||||
}
|
||||
});
|
||||
mAppBar.addButton(R.drawable.ic_call,
|
||||
v -> ((OnOpenCallListener)Objects.requireNonNull(getActivity()))
|
||||
.createCallForConversation(conversation_id));
|
||||
}
|
||||
|
||||
}
|
||||
@ -563,13 +536,7 @@ public class ConversationFragment extends Fragment
|
||||
|
||||
.setNegativeButton(R.string.conversation_message_remove_image_popup_cancel, null)
|
||||
|
||||
.setPositiveButton(R.string.conversation_message_remove_image_popup_confirm,
|
||||
new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
remove_picked_image();
|
||||
}
|
||||
})
|
||||
.setPositiveButton(R.string.conversation_message_remove_image_popup_confirm, (dialog, which) -> remove_picked_image())
|
||||
|
||||
.show();
|
||||
}
|
||||
@ -586,7 +553,8 @@ public class ConversationFragment extends Fragment
|
||||
try {
|
||||
|
||||
//Get new message bitmap
|
||||
new_message_bitmap = BitmapUtils.IntentResultToBitmap(getActivity(), data);
|
||||
new_message_bitmap = BitmapUtils.IntentResultToBitmap(
|
||||
Objects.requireNonNull(getActivity()), data);
|
||||
|
||||
//Check for errors
|
||||
if(new_message_bitmap == null){
|
||||
@ -617,8 +585,8 @@ public class ConversationFragment extends Fragment
|
||||
|
||||
//Reset image button
|
||||
pick_image_button.setImageBitmap(null);
|
||||
pick_image_button.setImageDrawable(UiUtils.getDrawable(getActivity(),
|
||||
android.R.drawable.ic_menu_gallery));
|
||||
pick_image_button.setImageDrawable(UiUtils.getDrawable(
|
||||
Objects.requireNonNull(getActivity()), android.R.drawable.ic_menu_gallery));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -651,12 +619,7 @@ public class ConversationFragment extends Fragment
|
||||
//Send the message
|
||||
unsetSendMessageTask();
|
||||
mSendConversationMessageTask = new SendConversationMessageTask(getActivity());
|
||||
mSendConversationMessageTask.setOnPostExecuteListener(new SafeAsyncTask.OnPostExecuteListener<Boolean>() {
|
||||
@Override
|
||||
public void OnPostExecute(Boolean success) {
|
||||
send_callback(success);
|
||||
}
|
||||
});
|
||||
mSendConversationMessageTask.setOnPostExecuteListener(this::send_callback);
|
||||
mSendConversationMessageTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, newMessage);
|
||||
}
|
||||
|
||||
@ -845,13 +808,7 @@ public class ConversationFragment extends Fragment
|
||||
.setMessage(R.string.dialog_delete_conversation_message_message)
|
||||
.setNegativeButton(R.string.dialog_delete_conversation_message_cancel, null)
|
||||
|
||||
.setPositiveButton(R.string.dialog_delete_conversation_message_confirm,
|
||||
new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
deleteConversationMessage(pos);
|
||||
}
|
||||
})
|
||||
.setPositiveButton(R.string.dialog_delete_conversation_message_confirm, (dialog, which) -> deleteConversationMessage(pos))
|
||||
|
||||
.show();
|
||||
}
|
||||
@ -868,12 +825,9 @@ public class ConversationFragment extends Fragment
|
||||
.setTitle(R.string.dialog_edit_conversation_message_content_title)
|
||||
.setView(view)
|
||||
.setNegativeButton(R.string.dialog_edit_conversation_message_content_cancel, null)
|
||||
.setPositiveButton(R.string.dialog_edit_conversation_message_content_update, new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
update_conversation_message(pos, ""+input.getText());
|
||||
}
|
||||
}).show();
|
||||
.setPositiveButton(R.string.dialog_edit_conversation_message_content_update,
|
||||
(dialog, which) ->
|
||||
update_conversation_message(pos, ""+input.getText())).show();
|
||||
|
||||
}
|
||||
|
||||
@ -888,12 +842,8 @@ public class ConversationFragment extends Fragment
|
||||
unsetPendingDeleteTasksCallback();
|
||||
|
||||
mDeleteMessageAsyncTask = new DeleteConversationMessageTask(getActivity());
|
||||
mDeleteMessageAsyncTask.setOnPostExecuteListener(new SafeAsyncTask.OnPostExecuteListener<Boolean>() {
|
||||
@Override
|
||||
public void OnPostExecute(Boolean result) {
|
||||
deleteConversationMessagesCallback(pos, result);
|
||||
}
|
||||
});
|
||||
mDeleteMessageAsyncTask.setOnPostExecuteListener(
|
||||
result -> deleteConversationMessagesCallback(pos, result));
|
||||
|
||||
|
||||
mDeleteMessageAsyncTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR,
|
||||
@ -950,12 +900,9 @@ public class ConversationFragment extends Fragment
|
||||
message.setContent(content);
|
||||
|
||||
mUpdateConversationMessageContentTask = new UpdateConversationMessageContentTask(getActivity());
|
||||
mUpdateConversationMessageContentTask.setOnPostExecuteListener(new SafeAsyncTask.OnPostExecuteListener<Boolean>() {
|
||||
@Override
|
||||
public void OnPostExecute(Boolean aBoolean) {
|
||||
if(getActivity() != null)
|
||||
updateConversationMessageCallback(aBoolean);
|
||||
}
|
||||
mUpdateConversationMessageContentTask.setOnPostExecuteListener(success -> {
|
||||
if(getActivity() != null)
|
||||
updateConversationMessageCallback(success);
|
||||
});
|
||||
mUpdateConversationMessageContentTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, message);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user