1package eu.siacs.conversations.services;
2
3import android.content.Intent;
4import android.os.Build;
5
6import eu.siacs.conversations.BuildConfig;
7
8public abstract class AbstractQuickConversationsService {
9
10
11 public static final String SMS_RETRIEVED_ACTION = "com.google.android.gms.auth.api.phone.SMS_RETRIEVED";
12
13 protected final XmppConnectionService service;
14
15 public AbstractQuickConversationsService(XmppConnectionService service) {
16 this.service = service;
17 }
18
19 public abstract void considerSync();
20
21 public static boolean isQuicksy() {
22 return "quicksy".equals(BuildConfig.FLAVOR_mode);
23 }
24
25 public static boolean isConversations() {
26 return "conversations".equals(BuildConfig.FLAVOR_mode);
27 }
28
29 public static boolean isPlayStoreFlavor() {
30 return "playstore".equals(BuildConfig.FLAVOR_distribution);
31 }
32
33 public static boolean isFreeOrQuicksyFlavor() {
34 return "free".equals(BuildConfig.FLAVOR_distribution) || "quicksy".equals(BuildConfig.FLAVOR_mode);
35 }
36
37 public static boolean isQuicksyPlayStore() {
38 return isQuicksy() && isPlayStoreFlavor();
39 }
40
41 public abstract void signalAccountStateChange();
42
43 public abstract boolean isSynchronizing();
44
45 public abstract void considerSyncBackground(boolean force);
46
47 public abstract void handleSmsReceived(Intent intent);
48}