diff --git a/ring-android/app/src/main/java/cx/ring/application/RingApplication.java b/ring-android/app/src/main/java/cx/ring/application/RingApplication.java index 9125a77db6a44349bca859458aa7993e3ca03bb5..1e6519aed55f5c84a8fc4a16c0506becc9e5e96e 100644 --- a/ring-android/app/src/main/java/cx/ring/application/RingApplication.java +++ b/ring-android/app/src/main/java/cx/ring/application/RingApplication.java @@ -70,7 +70,7 @@ import cx.ring.services.DaemonService; import cx.ring.services.DeviceRuntimeService; import cx.ring.services.HardwareService; import cx.ring.services.PresenceService; -import cx.ring.services.SettingsService; +import cx.ring.services.SharedPreferencesService; import cx.ring.utils.FutureUtils; import cx.ring.utils.Log; @@ -126,7 +126,7 @@ public class RingApplication extends Application { HardwareService mHardwareService; @Inject - SettingsService mSettingsService; + SharedPreferencesService mSharedPreferencesService; @Inject DeviceRuntimeService mDeviceRuntimeService; @@ -243,7 +243,7 @@ public class RingApplication extends Application { sendBroadcast(intent); // load accounts from Daemon - mAccountService.loadAccountsFromDaemon(mSettingsService.isConnectedWifiAndMobile()); + mAccountService.loadAccountsFromDaemon(mSharedPreferencesService.isConnectedWifiAndMobile()); } public void restartVideo() { diff --git a/ring-android/app/src/main/java/cx/ring/client/HomeActivity.java b/ring-android/app/src/main/java/cx/ring/client/HomeActivity.java index 4d31ee52de2bf2381daef6325444a71c7c70c4d3..c16e6b9a6cfcd1749e2376dfb856d80f1cb4adcc 100644 --- a/ring-android/app/src/main/java/cx/ring/client/HomeActivity.java +++ b/ring-android/app/src/main/java/cx/ring/client/HomeActivity.java @@ -81,7 +81,7 @@ import cx.ring.service.LocalService; import cx.ring.services.AccountService; import cx.ring.services.DeviceRuntimeService; import cx.ring.services.NotificationService; -import cx.ring.services.SettingsService; +import cx.ring.services.SharedPreferencesService; import cx.ring.settings.SettingsFragment; import cx.ring.share.ShareFragment; import cx.ring.contactrequests.PendingContactRequestsFragment; @@ -130,7 +130,7 @@ public class HomeActivity extends AppCompatActivity implements LocalService.Call DeviceRuntimeService mDeviceRuntimeService; @Inject - SettingsService mSettingsService; + SharedPreferencesService mSharedPreferencesService; @Inject AccountService mAccountService; @@ -326,7 +326,7 @@ public class HomeActivity extends AppCompatActivity implements LocalService.Call perms.add(Manifest.permission.RECORD_AUDIO); } - Settings settings = mSettingsService.loadSettings(); + Settings settings = mSharedPreferencesService.loadSettings(); if (settings.isAllowSystemContacts() && !mDeviceRuntimeService.hasContactPermission()) { perms.add(Manifest.permission.READ_CONTACTS); diff --git a/ring-android/app/src/main/java/cx/ring/dependencyinjection/RingInjectionComponent.java b/ring-android/app/src/main/java/cx/ring/dependencyinjection/RingInjectionComponent.java index 6ac4e05417c79e45a46fe6d672f6a8fb98cdd62d..82ebee03f6b49f9ef4ea0a035ee625568d55d58d 100755 --- a/ring-android/app/src/main/java/cx/ring/dependencyinjection/RingInjectionComponent.java +++ b/ring-android/app/src/main/java/cx/ring/dependencyinjection/RingInjectionComponent.java @@ -60,7 +60,7 @@ import cx.ring.services.HardwareService; import cx.ring.services.HistoryServiceImpl; import cx.ring.services.NotificationServiceImpl; import cx.ring.services.PresenceService; -import cx.ring.services.SettingsServiceImpl; +import cx.ring.services.SharedPreferencesServiceImpl; import cx.ring.settings.SettingsFragment; import cx.ring.settings.SettingsPresenter; import cx.ring.share.ShareFragment; @@ -135,7 +135,7 @@ public interface RingInjectionComponent { void inject(HardwareService service); - void inject(SettingsServiceImpl service); + void inject(SharedPreferencesServiceImpl service); void inject(HistoryServiceImpl service); diff --git a/ring-android/app/src/main/java/cx/ring/dependencyinjection/ServiceInjectionModule.java b/ring-android/app/src/main/java/cx/ring/dependencyinjection/ServiceInjectionModule.java index 9b5c0b87a5ecaac631f1ee0e15eed582096ab0c0..4e70ff4ad035e941528bfe606903a3328245be1b 100755 --- a/ring-android/app/src/main/java/cx/ring/dependencyinjection/ServiceInjectionModule.java +++ b/ring-android/app/src/main/java/cx/ring/dependencyinjection/ServiceInjectionModule.java @@ -46,8 +46,8 @@ import cx.ring.services.LogServiceImpl; import cx.ring.services.NotificationService; import cx.ring.services.NotificationServiceImpl; import cx.ring.services.PresenceService; -import cx.ring.services.SettingsService; -import cx.ring.services.SettingsServiceImpl; +import cx.ring.services.SharedPreferencesService; +import cx.ring.services.SharedPreferencesServiceImpl; import cx.ring.utils.Log; import cx.ring.utils.MediaManager; import dagger.Module; @@ -64,8 +64,8 @@ public class ServiceInjectionModule { @Provides @Singleton - SettingsService provideSettingsService() { - SettingsServiceImpl settingsService = new SettingsServiceImpl(); + SharedPreferencesService provideSettingsService() { + SharedPreferencesServiceImpl settingsService = new SharedPreferencesServiceImpl(); mRingApplication.getRingInjectionComponent().inject(settingsService); return settingsService; } @@ -147,7 +147,7 @@ public class ServiceInjectionModule { @Provides @Singleton - ContactService provideContactService(SettingsService settingsService) { + ContactService provideContactService(SharedPreferencesService sharedPreferencesService) { ContactServiceImpl contactService = new ContactServiceImpl(); mRingApplication.getRingInjectionComponent().inject(contactService); return contactService; diff --git a/ring-android/app/src/main/java/cx/ring/service/BootReceiver.java b/ring-android/app/src/main/java/cx/ring/service/BootReceiver.java index ee90e81917b01056a79b9efc073d5db568310477..297530150080aca2cd2a2e88dea2349e1259c107 100644 --- a/ring-android/app/src/main/java/cx/ring/service/BootReceiver.java +++ b/ring-android/app/src/main/java/cx/ring/service/BootReceiver.java @@ -8,13 +8,13 @@ import android.util.Log; import javax.inject.Inject; import cx.ring.application.RingApplication; -import cx.ring.services.SettingsService; +import cx.ring.services.SharedPreferencesService; public class BootReceiver extends BroadcastReceiver { private static final String TAG = BootReceiver.class.getSimpleName(); @Inject - SettingsService mSettingsService; + SharedPreferencesService mSharedPreferencesService; public BootReceiver() { } @@ -25,7 +25,7 @@ public class BootReceiver extends BroadcastReceiver { if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) { ((RingApplication) context.getApplicationContext()).getRingInjectionComponent().inject(this); - boolean isAllowRingOnStartup = mSettingsService.loadSettings().isAllowRingOnStartup(); + boolean isAllowRingOnStartup = mSharedPreferencesService.loadSettings().isAllowRingOnStartup(); if (isAllowRingOnStartup) { Log.w(TAG, "Starting Ring on boot"); diff --git a/ring-android/app/src/main/java/cx/ring/service/LocalService.java b/ring-android/app/src/main/java/cx/ring/service/LocalService.java index 7b3e34b35bbb64f71c8d61712532a706bb0942c0..ce93f2de2bc774ffd6e17c3dac2a614698b60bec 100644 --- a/ring-android/app/src/main/java/cx/ring/service/LocalService.java +++ b/ring-android/app/src/main/java/cx/ring/service/LocalService.java @@ -53,7 +53,7 @@ import cx.ring.services.AccountService; import cx.ring.services.ContactService; import cx.ring.services.DeviceRuntimeService; import cx.ring.services.NotificationService; -import cx.ring.services.SettingsService; +import cx.ring.services.SharedPreferencesService; import cx.ring.utils.ActionHelper; import cx.ring.utils.ContentUriHandler; import cx.ring.utils.Observable; @@ -75,7 +75,7 @@ public class LocalService extends Service implements Observer<ServiceEvent> { static public final String ACTION_CONV_ACCEPT = BuildConfig.APPLICATION_ID + ".action.CONV_ACCEPT"; @Inject - SettingsService mSettingsService; + SharedPreferencesService mSharedPreferencesService; @Inject AccountService mAccountService; @@ -161,7 +161,7 @@ public class LocalService extends Service implements Observer<ServiceEvent> { // temporary listen for history modifications // When MVP/DI injection will be done, only the concerned presenters should listen // for model modifications - mSettingsService.addObserver(this); + mSharedPreferencesService.addObserver(this); mAccountService.addObserver(this); mContactService.addObserver(this); mConversationFacade.addObserver(this); @@ -190,7 +190,7 @@ public class LocalService extends Service implements Observer<ServiceEvent> { public void onDestroy() { super.onDestroy(); Log.e(TAG, "onDestroy"); - mSettingsService.removeObserver(this); + mSharedPreferencesService.removeObserver(this); mAccountService.removeObserver(this); mContactService.removeObserver(this); mConversationFacade.removeObserver(this); @@ -256,7 +256,7 @@ public class LocalService extends Service implements Observer<ServiceEvent> { private void updateConnectivityState() { if (dringStarted) { try { - getRemoteService().setAccountsActive(mSettingsService.isConnectedWifiAndMobile()); + getRemoteService().setAccountsActive(mSharedPreferencesService.isConnectedWifiAndMobile()); getRemoteService().connectivityChanged(); } catch (RemoteException e) { Log.e(TAG, "updateConnectivityState", e); @@ -389,7 +389,7 @@ public class LocalService extends Service implements Observer<ServiceEvent> { @Override public void update(Observable observable, ServiceEvent arg) { - if (observable instanceof SettingsService) { + if (observable instanceof SharedPreferencesService) { refreshContacts(); updateConnectivityState(); } diff --git a/ring-android/app/src/main/java/cx/ring/services/NotificationServiceImpl.java b/ring-android/app/src/main/java/cx/ring/services/NotificationServiceImpl.java index e69e9c89178b667697019760034d1958ad2f06a8..d89da5839d8c244d883c9631f4d12c206ad4d751 100644 --- a/ring-android/app/src/main/java/cx/ring/services/NotificationServiceImpl.java +++ b/ring-android/app/src/main/java/cx/ring/services/NotificationServiceImpl.java @@ -35,6 +35,7 @@ import android.text.format.DateUtils; import java.util.HashMap; import java.util.Random; +import java.util.Set; import java.util.TreeMap; import javax.inject.Inject; @@ -82,6 +83,12 @@ public class NotificationServiceImpl extends NotificationService implements Obse @Inject protected AccountService mAccountService; + @Inject + DeviceRuntimeService mDeviceRuntimeService; + + @Inject + protected SharedPreferencesService mSharedPreferencesService; + private NotificationManagerCompat notificationManager; private HashMap<Integer, NotificationCompat.Builder> mNotificationBuilders; @@ -422,7 +429,12 @@ public class NotificationServiceImpl extends NotificationService implements Obse final String accountID = arg.getEventInput(ServiceEvent.EventInput.ACCOUNT_ID, String.class); final String from = arg.getEventInput(ServiceEvent.EventInput.FROM, String.class); if (accountID != null && from != null) { - showIncomingTrustRequestNotification(accountID, from); + Set<String> requests = mSharedPreferencesService.loadRequestsPreferences(accountID); + if (requests == null || !requests.contains(from)) { + showIncomingTrustRequestNotification(accountID, from); + + mSharedPreferencesService.saveRequestPreferences(accountID, from); + } } break; } diff --git a/ring-android/app/src/main/java/cx/ring/services/SettingsServiceImpl.java b/ring-android/app/src/main/java/cx/ring/services/SharedPreferencesServiceImpl.java similarity index 68% rename from ring-android/app/src/main/java/cx/ring/services/SettingsServiceImpl.java rename to ring-android/app/src/main/java/cx/ring/services/SharedPreferencesServiceImpl.java index e89fe18abab3b7822d8515184d95a4dc60e9a8f2..8f45f74c41e615095c2c674cf52a7f85c094ff05 100644 --- a/ring-android/app/src/main/java/cx/ring/services/SettingsServiceImpl.java +++ b/ring-android/app/src/main/java/cx/ring/services/SharedPreferencesServiceImpl.java @@ -22,14 +22,18 @@ package cx.ring.services; import android.content.Context; import android.content.SharedPreferences; +import java.util.HashSet; +import java.util.Set; + import javax.inject.Inject; import cx.ring.model.Settings; import cx.ring.utils.NetworkUtils; -public class SettingsServiceImpl extends SettingsService { +public class SharedPreferencesServiceImpl extends SharedPreferencesService { public static final String RING_SETTINGS = "ring_settings"; + public static final String RING_REQUESTS = "ring_requests"; public static final String RING_MOBILE_DATA = "mobile_data"; public static final String RING_SYSTEM_CONTACTS = "system_contacts"; @@ -39,7 +43,7 @@ public class SettingsServiceImpl extends SettingsService { @Inject protected Context mContext; - public SettingsServiceImpl() { + public SharedPreferencesServiceImpl() { mUserSettings = null; } @@ -86,6 +90,42 @@ public class SettingsServiceImpl extends SettingsService { return mUserSettings; } + private void saveRequests(String accountId, Set<String> requests) { + SharedPreferences preferences = mContext.getSharedPreferences(RING_REQUESTS, Context.MODE_PRIVATE); + SharedPreferences.Editor edit = preferences.edit(); + edit.clear(); + edit.putStringSet(accountId, requests); + edit.apply(); + } + + @Override + public void saveRequestPreferences(String accountId, String contactId) { + Set<String> requests = loadRequestsPreferences(accountId); + if (requests == null) { + requests = new HashSet<>(); + } + + requests.add(contactId); + saveRequests(accountId, requests); + } + + @Override + public Set<String> loadRequestsPreferences(String accountId) { + SharedPreferences preferences = mContext.getSharedPreferences(RING_REQUESTS, Context.MODE_PRIVATE); + return preferences.getStringSet(accountId, null); + } + + @Override + public void removeRequestPreferences(String accountId, String contactId) { + Set<String> requests = loadRequestsPreferences(accountId); + if (requests == null) { + return; + } + + requests.remove(contactId); + saveRequests(accountId, requests); + } + public boolean isConnectedWifiAndMobile() { return NetworkUtils.isConnectedWifi(mContext) || (NetworkUtils.isConnectedMobile(mContext) && getUserSettings().isAllowMobileData()); diff --git a/ring-android/libringclient/src/main/java/cx/ring/contactrequests/PendingContactRequestsPresenter.java b/ring-android/libringclient/src/main/java/cx/ring/contactrequests/PendingContactRequestsPresenter.java index 30facd348f2b860269e4838eb1139ebfdc4fa2b3..a014910ee835f3b549613d14acef287bf5a160ae 100644 --- a/ring-android/libringclient/src/main/java/cx/ring/contactrequests/PendingContactRequestsPresenter.java +++ b/ring-android/libringclient/src/main/java/cx/ring/contactrequests/PendingContactRequestsPresenter.java @@ -25,6 +25,7 @@ import java.util.Map; import javax.inject.Inject; +import cx.ring.daemon.Blob; import cx.ring.model.Account; import cx.ring.model.ServiceEvent; import cx.ring.model.TrustRequest; @@ -33,6 +34,7 @@ import cx.ring.services.AccountService; import cx.ring.services.DeviceRuntimeService; import cx.ring.services.NotificationService; import cx.ring.services.ContactService; +import cx.ring.services.SharedPreferencesService; import cx.ring.utils.Log; import cx.ring.utils.Observable; import cx.ring.utils.Observer; @@ -49,6 +51,8 @@ public class PendingContactRequestsPresenter extends RootPresenter<PendingContac private NotificationService mNotificationService; private ContactService mContactService; private DeviceRuntimeService mDeviceRuntimeService; + private SharedPreferencesService mSharedPreferencesService; + private String mAccountID; private ArrayList<PendingContactRequestsViewModel> mContactRequestsViewModels; @@ -56,11 +60,13 @@ public class PendingContactRequestsPresenter extends RootPresenter<PendingContac public PendingContactRequestsPresenter(AccountService accountService, NotificationService notificationService, ContactService contactService, - DeviceRuntimeService deviceRuntimeService) { + DeviceRuntimeService deviceRuntimeService, + SharedPreferencesService sharedPreferencesService) { mAccountService = accountService; mNotificationService = notificationService; mContactService = contactService; mDeviceRuntimeService = deviceRuntimeService; + mSharedPreferencesService = sharedPreferencesService; } final private List<TrustRequest> mTrustRequests = new ArrayList<>(); @@ -153,12 +159,15 @@ public class PendingContactRequestsPresenter extends RootPresenter<PendingContac } } + mSharedPreferencesService.removeRequestPreferences(accountId, contactId); updateList(false); } public void refuseTrustRequest(PendingContactRequestsViewModel viewModel) { String accountId = mAccountID == null ? mAccountService.getCurrentAccount().getAccountID() : mAccountID; - mAccountService.discardTrustRequest(accountId, viewModel.getContactId()); + String contactId = viewModel.getContactId(); + mAccountService.discardTrustRequest(accountId, contactId); + mSharedPreferencesService.removeRequestPreferences(accountId, contactId); updateList(true); } @@ -167,6 +176,7 @@ public class PendingContactRequestsPresenter extends RootPresenter<PendingContac String contactId = viewModel.getContactId(); mAccountService.discardTrustRequest(accountId, contactId); mContactService.removeContact(accountId, contactId); + mSharedPreferencesService.removeRequestPreferences(accountId, contactId); updateList(true); } @@ -178,8 +188,21 @@ public class PendingContactRequestsPresenter extends RootPresenter<PendingContac Log.d(TAG, "update " + event.getEventType()); switch (event.getEventType()) { - case ACCOUNTS_CHANGED: case INCOMING_TRUST_REQUEST: + final String accountId = event.getEventInput(ServiceEvent.EventInput.ACCOUNT_ID, String.class); + final String from = event.getEventInput(ServiceEvent.EventInput.FROM, String.class); + final String payload = event.getEventInput(ServiceEvent.EventInput.MESSAGE, Blob.class).toJavaString(); + TrustRequest request = new TrustRequest(accountId, from); + Tuple<VCard, String> tuple = TrustRequestUtils.parsePayload(payload); + request.setVCard(tuple.first); + request.setMessage(tuple.second); + if (!mTrustRequestsTmp.contains(request) && !mTrustRequests.contains(request)) { + mTrustRequestsTmp.add(request); + mAccountService.lookupAddress("", "", from); + updateList(false); + } + break; + case ACCOUNTS_CHANGED: updateList(true); break; case REGISTERED_NAME_FOUND: diff --git a/ring-android/libringclient/src/main/java/cx/ring/services/ContactService.java b/ring-android/libringclient/src/main/java/cx/ring/services/ContactService.java index 166b89206fa9484568bd0ec3f569a3cd46a9b2b7..a60a46b9c1e29afc0f2ebbb46c3121446f096e05 100644 --- a/ring-android/libringclient/src/main/java/cx/ring/services/ContactService.java +++ b/ring-android/libringclient/src/main/java/cx/ring/services/ContactService.java @@ -64,7 +64,7 @@ public abstract class ContactService extends Observable { private final static String TAG = ContactService.class.getName(); @Inject - SettingsService mSettingsService; + SharedPreferencesService mSharedPreferencesService; @Inject DeviceRuntimeService mDeviceRuntimeService; @@ -132,7 +132,7 @@ public abstract class ContactService extends Observable { mApplicationExecutor.submit(new Runnable() { @Override public void run() { - Settings settings = mSettingsService.loadSettings(); + Settings settings = mSharedPreferencesService.loadSettings(); if (settings.isAllowSystemContacts() && mDeviceRuntimeService.hasContactPermission()) { mContactList = loadContactsFromSystem(loadRingContacts, loadSipContacts); } @@ -204,6 +204,7 @@ public abstract class ContactService extends Observable { return contacts; } + public Collection<CallContact> getContactsConfirmed() { List<CallContact> contacts = new ArrayList<>(getContacts()); Iterator<CallContact> it = contacts.iterator(); @@ -242,7 +243,7 @@ public abstract class ContactService extends Observable { return null; } - Settings settings = mSettingsService.loadSettings(); + Settings settings = mSharedPreferencesService.loadSettings(); CallContact contact = mContactList.get(id); if (contact == null && (settings.isAllowSystemContacts() && mDeviceRuntimeService.hasContactPermission())) { @@ -266,7 +267,7 @@ public abstract class ContactService extends Observable { return null; } - Settings settings = mSettingsService.loadSettings(); + Settings settings = mSharedPreferencesService.loadSettings(); String searchedCanonicalNumber = CallContact.canonicalNumber(number); diff --git a/ring-android/libringclient/src/main/java/cx/ring/services/SettingsService.java b/ring-android/libringclient/src/main/java/cx/ring/services/SharedPreferencesService.java similarity index 78% rename from ring-android/libringclient/src/main/java/cx/ring/services/SettingsService.java rename to ring-android/libringclient/src/main/java/cx/ring/services/SharedPreferencesService.java index f193edef80295a0d6ce9c8729086fae0d3fdf4b1..142919bdfb0cc6bf01f36a43b1af62a752c7b9cf 100644 --- a/ring-android/libringclient/src/main/java/cx/ring/services/SettingsService.java +++ b/ring-android/libringclient/src/main/java/cx/ring/services/SharedPreferencesService.java @@ -19,10 +19,12 @@ */ package cx.ring.services; +import java.util.Set; + import cx.ring.model.Settings; import cx.ring.utils.Observable; -public abstract class SettingsService extends Observable { +public abstract class SharedPreferencesService extends Observable { protected Settings mUserSettings; @@ -35,4 +37,10 @@ public abstract class SettingsService extends Observable { } public abstract boolean isConnectedWifiAndMobile(); + + public abstract void saveRequestPreferences(String accountId, String contactId); + + public abstract Set<String> loadRequestsPreferences(String accountId); + + public abstract void removeRequestPreferences(String accountId, String contactId); } diff --git a/ring-android/libringclient/src/main/java/cx/ring/settings/SettingsPresenter.java b/ring-android/libringclient/src/main/java/cx/ring/settings/SettingsPresenter.java index ee603e1c2120a8dfdb4a26424d732b77383b0f01..4de349614bd614492d5127f4c909a3f254949261 100644 --- a/ring-android/libringclient/src/main/java/cx/ring/settings/SettingsPresenter.java +++ b/ring-android/libringclient/src/main/java/cx/ring/settings/SettingsPresenter.java @@ -26,14 +26,14 @@ import cx.ring.model.Settings; import cx.ring.mvp.GenericView; import cx.ring.mvp.RootPresenter; import cx.ring.services.HistoryService; -import cx.ring.services.SettingsService; +import cx.ring.services.SharedPreferencesService; import cx.ring.utils.Observable; import cx.ring.utils.Observer; public class SettingsPresenter extends RootPresenter<GenericView<SettingsViewModel>> implements Observer<ServiceEvent> { @Inject - SettingsService mSettingsService; + SharedPreferencesService mSharedPreferencesService; @Inject HistoryService mHistoryService; @@ -41,7 +41,7 @@ public class SettingsPresenter extends RootPresenter<GenericView<SettingsViewMod @Override public void afterInjection() { // We observe the application settings changes - mSettingsService.addObserver(this); + mSharedPreferencesService.addObserver(this); // no need to observe the history changes // only the smartlist should do so } @@ -52,14 +52,14 @@ public class SettingsPresenter extends RootPresenter<GenericView<SettingsViewMod } // load the app settings - Settings settings = mSettingsService.loadSettings(); + Settings settings = mSharedPreferencesService.loadSettings(); // let the view display the associated ViewModel getView().showViewModel(new SettingsViewModel(settings)); } public void saveSettings(Settings settings) { - mSettingsService.saveSettings(settings); + mSharedPreferencesService.saveSettings(settings); } public void clearHistory() { @@ -68,7 +68,7 @@ public class SettingsPresenter extends RootPresenter<GenericView<SettingsViewMod @Override public void update(Observable observable, ServiceEvent o) { - if (observable instanceof SettingsService) { + if (observable instanceof SharedPreferencesService) { loadSettings(); } } diff --git a/ring-android/libringclient/src/main/java/cx/ring/smartlist/SmartListPresenter.java b/ring-android/libringclient/src/main/java/cx/ring/smartlist/SmartListPresenter.java index 57e8b73e05338a33c109fa96a3d37fb7ef672c17..b5d45fb2dc969578ebfff35db274574be477aea6 100644 --- a/ring-android/libringclient/src/main/java/cx/ring/smartlist/SmartListPresenter.java +++ b/ring-android/libringclient/src/main/java/cx/ring/smartlist/SmartListPresenter.java @@ -40,7 +40,7 @@ import cx.ring.services.AccountService; import cx.ring.services.ContactService; import cx.ring.services.HistoryService; import cx.ring.services.PresenceService; -import cx.ring.services.SettingsService; +import cx.ring.services.SharedPreferencesService; import cx.ring.utils.BlockchainInputHandler; import cx.ring.utils.Log; import cx.ring.utils.Observable; @@ -57,7 +57,7 @@ public class SmartListPresenter extends RootPresenter<SmartListView> implements private HistoryService mHistoryService; - private SettingsService mSettingsService; + private SharedPreferencesService mSharedPreferencesService; private ConversationFacade mConversationFacade; @@ -72,11 +72,11 @@ public class SmartListPresenter extends RootPresenter<SmartListView> implements @Inject public SmartListPresenter(AccountService accountService, ContactService contactService, HistoryService historyService, ConversationFacade conversationFacade, - SettingsService settingsService, PresenceService presenceService) { + PresenceService presenceService, SharedPreferencesService sharedPreferencesService) { this.mAccountService = accountService; this.mContactService = contactService; this.mHistoryService = historyService; - this.mSettingsService = settingsService; + this.mSharedPreferencesService = sharedPreferencesService; this.mConversationFacade = conversationFacade; this.mPresenceService = presenceService; } @@ -104,10 +104,10 @@ public class SmartListPresenter extends RootPresenter<SmartListView> implements public void refresh(boolean isConnectedWifi, boolean isConnectedMobile) { boolean isConnected = isConnectedWifi - || (isConnectedMobile && mSettingsService.getUserSettings().isAllowMobileData()); + || (isConnectedMobile && mSharedPreferencesService.getUserSettings().isAllowMobileData()); boolean isMobileAndNotAllowed = isConnectedMobile - && !mSettingsService.getUserSettings().isAllowMobileData(); + && !mSharedPreferencesService.getUserSettings().isAllowMobileData(); if (isConnected) { getView().hideErrorPanel();