show location quick action after receiving a question about the users location
This commit is contained in:
parent
6489ddac6c
commit
82878cded1
|
@ -59,6 +59,7 @@ import eu.siacs.conversations.ui.adapter.MessageAdapter;
|
|||
import eu.siacs.conversations.ui.adapter.MessageAdapter.OnContactPictureClicked;
|
||||
import eu.siacs.conversations.ui.adapter.MessageAdapter.OnContactPictureLongClicked;
|
||||
import eu.siacs.conversations.utils.GeoHelper;
|
||||
import eu.siacs.conversations.utils.UIHelper;
|
||||
import eu.siacs.conversations.xmpp.chatstate.ChatState;
|
||||
import eu.siacs.conversations.xmpp.jid.Jid;
|
||||
|
||||
|
@ -905,7 +906,9 @@ public class ConversationFragment extends Fragment implements EditMessage.Keyboa
|
|||
} else {
|
||||
if (empty) {
|
||||
String setting = activity.getPreferences().getString("quick_action","recent");
|
||||
if (setting.equals("recent")) {
|
||||
if (!setting.equals("none") && UIHelper.receivedLocationQuestion(conversation.getLatestMessage())) {
|
||||
setting = "location";
|
||||
} else if (setting.equals("recent")) {
|
||||
setting = activity.getPreferences().getString("recently_used_quick_action","text");
|
||||
}
|
||||
switch (setting) {
|
||||
|
|
|
@ -5,6 +5,7 @@ import java.util.ArrayList;
|
|||
import java.util.Arrays;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.Locale;
|
||||
|
||||
import eu.siacs.conversations.R;
|
||||
import eu.siacs.conversations.entities.Contact;
|
||||
|
@ -26,6 +27,19 @@ public class UIHelper {
|
|||
|
||||
public static final ArrayList<String> HEARTS = new ArrayList<>(Arrays.asList(BLACK_HEART_SUIT,HEAVY_BLACK_HEART_SUIT,WHITE_HEART_SUIT));
|
||||
|
||||
private static final ArrayList<String> LOCATION_QUESTIONS = new ArrayList<>(Arrays.asList(
|
||||
"where are you?", //en
|
||||
"where r u?", //en
|
||||
"whats your 20?", //en
|
||||
"what is your 20?", //en
|
||||
"what's your 20?", //en
|
||||
"whats your twenty?", //en
|
||||
"what is your twenty?", //en
|
||||
"what's your twenty?", //en
|
||||
"wo bist du?", //de
|
||||
"wo sind sie?" //de
|
||||
));
|
||||
|
||||
private static final int SHORT_DATE_FLAGS = DateUtils.FORMAT_SHOW_DATE
|
||||
| DateUtils.FORMAT_NO_YEAR | DateUtils.FORMAT_ABBREV_ALL;
|
||||
private static final int FULL_DATE_FLAGS = DateUtils.FORMAT_SHOW_TIME
|
||||
|
@ -234,4 +248,14 @@ public class UIHelper {
|
|||
return counterpart.toString().trim();
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean receivedLocationQuestion(Message message) {
|
||||
if (message == null
|
||||
|| message.getStatus() != Message.STATUS_RECEIVED
|
||||
|| message.getType() != Message.TYPE_TEXT) {
|
||||
return false;
|
||||
}
|
||||
String body = message.getBody() == null ? null : message.getBody().trim().toLowerCase(Locale.getDefault());
|
||||
return LOCATION_QUESTIONS.contains(body);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue