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.OnContactPictureClicked;
|
||||||
import eu.siacs.conversations.ui.adapter.MessageAdapter.OnContactPictureLongClicked;
|
import eu.siacs.conversations.ui.adapter.MessageAdapter.OnContactPictureLongClicked;
|
||||||
import eu.siacs.conversations.utils.GeoHelper;
|
import eu.siacs.conversations.utils.GeoHelper;
|
||||||
|
import eu.siacs.conversations.utils.UIHelper;
|
||||||
import eu.siacs.conversations.xmpp.chatstate.ChatState;
|
import eu.siacs.conversations.xmpp.chatstate.ChatState;
|
||||||
import eu.siacs.conversations.xmpp.jid.Jid;
|
import eu.siacs.conversations.xmpp.jid.Jid;
|
||||||
|
|
||||||
|
@ -905,7 +906,9 @@ public class ConversationFragment extends Fragment implements EditMessage.Keyboa
|
||||||
} else {
|
} else {
|
||||||
if (empty) {
|
if (empty) {
|
||||||
String setting = activity.getPreferences().getString("quick_action","recent");
|
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");
|
setting = activity.getPreferences().getString("recently_used_quick_action","text");
|
||||||
}
|
}
|
||||||
switch (setting) {
|
switch (setting) {
|
||||||
|
|
|
@ -5,6 +5,7 @@ import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.Locale;
|
||||||
|
|
||||||
import eu.siacs.conversations.R;
|
import eu.siacs.conversations.R;
|
||||||
import eu.siacs.conversations.entities.Contact;
|
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));
|
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
|
private static final int SHORT_DATE_FLAGS = DateUtils.FORMAT_SHOW_DATE
|
||||||
| DateUtils.FORMAT_NO_YEAR | DateUtils.FORMAT_ABBREV_ALL;
|
| DateUtils.FORMAT_NO_YEAR | DateUtils.FORMAT_ABBREV_ALL;
|
||||||
private static final int FULL_DATE_FLAGS = DateUtils.FORMAT_SHOW_TIME
|
private static final int FULL_DATE_FLAGS = DateUtils.FORMAT_SHOW_TIME
|
||||||
|
@ -234,4 +248,14 @@ public class UIHelper {
|
||||||
return counterpart.toString().trim();
|
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 New Issue